Class: Track::Controller

Inherits:
Object
  • Object
show all
Defined in:
lib/track/controller.rb

Constant Summary collapse

@@route_map =
RouteMap.new
@@filter_map =
FilterMap.new

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeController

Returns a new instance of Controller.



13
14
15
# File 'lib/track/controller.rb', line 13

def initialize
  @params = {}
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



11
12
13
# File 'lib/track/controller.rb', line 11

def params
  @params
end

Instance Method Details

#call(env) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/track/controller.rb', line 17

def call(env)
  req = Rack::Request.new(env)
  @params.merge!(req.params)
  if route = @@route_map.scan(self.class.name, req)
    @params.merge!(route[:matches])
    response_for(route)
  else
    routing_error
  end
end