class Generic::Base
Public Class Methods
after(&block)
click to toggle source
After Proccess
# File lib/generic/generic.rb, line 179 def after(&block) after_actions << Proc.new(&block) end
before(&block)
click to toggle source
Before Proccess
# File lib/generic/generic.rb, line 174 def before(&block) before_actions << Proc.new(&block) end
delete(path, options={}, &block)
click to toggle source
# File lib/generic/generic.rb, line 123 def delete(path, options={}, &block) options[:constraints] = guard.merge(options[:constraints] || {}) options[:constraints].merge!(:request_method => "DELETE") define_route(path, options, &block) end
get(path, options={}, &block)
click to toggle source
Methods
# File lib/generic/generic.rb, line 105 def get(path, options={}, &block) options[:constraints] = guard.merge(options[:constraints] || {}) options[:constraints].merge!(:request_method => "GET") define_route(path, options, &block) end
group(url, app=nil, &block)
click to toggle source
Group Route
# File lib/generic/generic.rb, line 130 def group(url, app=nil, &block) scope = self.scope app = Class.new(self.superclass) do self.scope = scope class_eval(&block) end routes[url] = app end
import(cls, *args, &block)
click to toggle source
Import
# File lib/generic/generic.rb, line 169 def import(cls, *args, &block) impt << [cls, args, block] end
library(*args, &block)
click to toggle source
System Helper
# File lib/generic/generic.rb, line 158 def library(*args, &block) if block_given? args << Module.new(&block) end args.each do |m| scope.send :include, m end end
new(app=nil)
click to toggle source
# File lib/generic/generic.rb, line 65 def initialize(app=nil) # Rack Builder builder = Rack::Builder.new #Register Importing Classes self.class.impt.each do |im, args, block| builder.use(im, *args, &block) end # Register group nested self.class.routes.each do |url, a_class| builder.map(url) do use a_class end end builder.run Generic::Routing.new({ :scope => self.class.scope, :rd => self.class.rd, :before_actions => self.class.before_actions, :after_actions => self.class.after_actions, :fail => app }) @app = builder.to_app end
post(path, options={}, &block)
click to toggle source
# File lib/generic/generic.rb, line 111 def post(path, options={}, &block) options[:constraints] = guard.merge(options[:constraints] || {}) options[:constraints].merge!(:request_method => "POST") define_route(path, options, &block) end
put(path, options={}, &block)
click to toggle source
# File lib/generic/generic.rb, line 117 def put(path, options={}, &block) options[:constraints] = guard.merge(options[:constraints] || {}) options[:constraints].merge!(:request_method => "PUT") define_route(path, options, &block) end
register(*extensions)
click to toggle source
Register Extension
# File lib/generic/generic.rb, line 140 def register(*extensions) extensions.each do |ext| extend ext if ext.check(self) ext.respond_to?(:registered) end end end
set_guard(args, &block)
click to toggle source
Set Guard
# File lib/generic/generic.rb, line 150 def set_guard(args, &block) current = self.guard.dup self.guard = args instance_eval(&block) self.guard = current end
Protected Class Methods
define_route(path, options, &block)
click to toggle source
Define Framework Route
# File lib/generic/generic.rb, line 185 def define_route(path, options, &block) self.rd << [path, options, Proc.new(&block)] end
Public Instance Methods
call(env)
click to toggle source
# File lib/generic/generic.rb, line 93 def call(env) @app.call(env) end
settings()
click to toggle source
# File lib/generic/generic.rb, line 97 def settings self.class.settings end