class Hanami::Routing::Resource::CollectionAction
Collection action It implements collection within a resource block.
@api private @since 0.1.0 @see Hanami::Router#resource
Public Instance Methods
generate(&blk)
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/routing/resource/action.rb, line 285 def generate(&blk) instance_eval(&blk) if block_given? end
Protected Instance Methods
method_missing(m, *args)
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/routing/resource/action.rb, line 292 def method_missing(m, *args) verb = m action_name = Utils::PathPrefix.new(args.first).relative_join(nil) @router.__send__ verb, path(action_name), to: endpoint(action_name), as: as(action_name) end
Private Instance Methods
as(action_name)
click to toggle source
@since 0.1.0 @api private
Calls superclass method
Hanami::Routing::Resource::Action#as
# File lib/hanami/routing/resource/action.rb, line 315 def as(action_name) [ action_name, super() ].join(self.class.named_route_separator).to_sym end
endpoint(action_name)
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/routing/resource/action.rb, line 309 def endpoint(action_name) [ controller_name, action_name ].join separator end
path(action_name)
click to toggle source
@since 0.1.0 @api private
# File lib/hanami/routing/resource/action.rb, line 303 def path(action_name) rest_path.join(action_name) end