class Odex::Base
Constants
- METHODS
Public Class Methods
after_proc(&block)
click to toggle source
# File lib/odex/app.rb, line 213 def after_proc(&block) hook_after << Proc.new(&block) end
before_proc(&block)
click to toggle source
# File lib/odex/app.rb, line 209 def before_proc(&block) hook_before << Proc.new(&block) end
group(url, app=nil, &block)
click to toggle source
# File lib/odex/app.rb, line 200 def group(url, app=nil, &block) scope = self.c app ||= Class.new(self.superclass) do self.c = scope class_eval(&block) end map[url] = app end
helpers(*args, &block)
click to toggle source
# File lib/odex/app.rb, line 228 def helpers(*args, &block) args << Module.new(&block) if block_given? args.each do |module| c.send(:include, module) end end def route(path, options, &block) self.route_defs << [path, options, Proc.new(&block)] end end end
import(*extensions)
click to toggle source
# File lib/odex/app.rb, line 221 def import(*extensions) extensions.each do |ext| extend ext ext.module_is_registered(self) if ext.respond_to?(:module_is_registered) end end
new(app=nil)
click to toggle source
# File lib/odex/app.rb, line 164 def initialize(app=nil) builder = odex_rack_builder builder.run Router.new({ :c => self.class.c, :route_defs => self.class.route_defs, :hook_before => self.class.hook_before, :hook_after => self.class.hook_after, :fallback => app }) @app = builder.to_app end
route(path, options, &block)
click to toggle source
# File lib/odex/app.rb, line 235 def route(path, options, &block) self.route_defs << [path, options, Proc.new(&block)] end
use(middleware, *args, &block)
click to toggle source
# File lib/odex/app.rb, line 217 def use(middleware, *args, &block) builder.use(middleware, *args, &block) end
Public Instance Methods
call(env)
click to toggle source
# File lib/odex/app.rb, line 187 def call env @app.call env end
odex_rack_builder()
click to toggle source
# File lib/odex/app.rb, line 177 def odex_rack_builder rack_builder = Odex::OdexBuilder.new self.class.map.each do |url, map_class| rack_builder.map(url) do use map_class end end rack_builder end