Class: Kawaii::RouteMapping
- Inherits:
-
Object
- Object
- Kawaii::RouteMapping
- Defined in:
- lib/kawaii/route_mapping.rb
Overview
Maps route to a handler based on parameters. Supports mapping to blocks and to controller actions.
Instance Method Summary (collapse)
-
- (RouteMapping) initialize(mapping, &block)
constructor
A new instance of RouteMapping.
- - (Object) resolve
Constructor Details
- (RouteMapping) initialize(mapping, &block)
Returns a new instance of RouteMapping
6 7 8 9 10 11 |
# File 'lib/kawaii/route_mapping.rb', line 6 def initialize(mapping, &block) fail 'Do not provide a block if mapping given' if mapping && block fail 'Provide a mapping or a block' unless mapping || block @mapping = mapping @block = block end |
Instance Method Details
- (Object) resolve
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/kawaii/route_mapping.rb', line 13 def resolve return @block if @block controller_name, method = parse(@mapping) controller_class = find_controller(controller_name) fail "Cannot find controller: #{controller_name}" if controller_class.nil? proc do |& _args| controller = controller_class.new(params, request) controller.send(method) end end |