ruby - Route Handlers Inside a Class -


i have sinatra app setup of logic performed inside of various classes, , post/get routes instantiate classes , call methods.

i'm thinking whether putting post/get route handlers inside of classes better structure.

in case, i'd know if possible. instance:

class example   def say_hello     "hello"   end    '/hello'     @message = say_hello   end end 

without modification above, sinatra there no method say_hello on sinatraapplication object.

you need inherit sinatra::base:

require "sinatra/base"  class example < sinatra::base   def say_hello     "hello"   end    "/hello"     say_hello   end end 

you can run app example.run!.


if need more separation between parts of application, make sinatra app. put shared functionality in model classes , helpers, , run apps rack.

module hellohelpers   def say_hello     "hello"   end end  class hello < sinatra::base   helpers hellohelpers    "/?"     @message = say_hello     haml :index   end end  class helloadmin < sinatra::base   helpers hellohelpers    "/?"     @message = say_hello     haml :"admin/index"   end end 

config.ru:

map "/"   run hello end  map "/admin"   run helloadmin end 

install thin, , run app thin start.


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -