class Pendragon::Router::Route::Context
Class for providing helpers like :env, :params and :captures. This class will be available if given application is an kind of Proc. @!visibility private
Attributes
captures[R]
@!visibility private
env[R]
@!visibility private
params[R]
@!visibility private
Public Class Methods
generate_method(name, callable)
click to toggle source
@!visibility private
# File lib/pendragon/router.rb, line 166 def self.generate_method(name, callable) define_method(name, &callable) method = instance_method(name) remove_method(name) method end
new(env, params: {}, captures: [])
click to toggle source
@!visibility private
# File lib/pendragon/router.rb, line 184 def initialize(env, params: {}, captures: []) @env = env @params = params @captures = captures end
to_method(*args, callable)
click to toggle source
@!visibility private
# File lib/pendragon/router.rb, line 174 def self.to_method(*args, callable) unbound = generate_method(args.join(' '), callable) if unbound.arity.zero? proc { |app, captures| unbound.bind(app).call } else proc { |app, captures| unbound.bind(app).call(*captures) } end end
Public Instance Methods
trigger(executable)
click to toggle source
@!visibility private
# File lib/pendragon/router.rb, line 191 def trigger(executable) executable[self, captures] end