class Rack::Tracker::HandlerDelegator
Attributes
env[RW]
Public Class Methods
handler(method_name)
click to toggle source
# File lib/rack/tracker/handler_delegator.rb, line 3 def handler(method_name) new.handler(method_name) end
new(env = {})
click to toggle source
# File lib/rack/tracker/handler_delegator.rb, line 10 def initialize(env = {}) @env = env end
Public Instance Methods
handler(method_name)
click to toggle source
# File lib/rack/tracker/handler_delegator.rb, line 26 def handler(method_name) return method_name if method_name.kind_of?(Class) _handler = method_name.to_s.camelize ["Rack::Tracker::#{_handler}", _handler].detect do |const| begin return const.constantize rescue NameError false end end raise ArgumentError, "No such Handler: #{_handler}" end
method_missing(method_name, *args, &block)
click to toggle source
Calls superclass method
# File lib/rack/tracker/handler_delegator.rb, line 14 def method_missing(method_name, *args, &block) if respond_to?(method_name) handler(method_name).process_track(env, method_name, *args, &block) else super end end
respond_to?(method_name, include_private = false)
click to toggle source
# File lib/rack/tracker/handler_delegator.rb, line 22 def respond_to?(method_name, include_private = false) handler(method_name).respond_to?(:track, include_private) end