class GrapeApe::API
Constants
- REQUIRED_ROUTE_KEYS
Public Class Methods
inherited(subclass)
click to toggle source
Calls superclass method
# File lib/grape_ape/api.rb, line 11 def inherited(subclass) super GrapeApe::API.app_class = subclass.name if defined?(GrapeApe::API) end
route(methods, paths = %w(/), route_options = {}, &block)
click to toggle source
Calls superclass method
# File lib/grape_ape/api.rb, line 16 def route(methods, paths = %w(/), route_options = {}, &block) if ape_route?(route_options) endpoint_options = { :method => methods, :path => paths, :route_options => (@namespace_description || {}).deep_merge(@last_description || {}).deep_merge(route_options || {}) } endpoints << GrapeApe::Endpoint.new(settings.clone, endpoint_options) do message = rpc(env, route_options[:routing_key], {method: route_options[:method], params: params}) if block block.call(message) else message end end @last_description = nil reset_validations! else super end end
Private Class Methods
ape_route?(route_options)
click to toggle source
# File lib/grape_ape/api.rb, line 42 def ape_route?(route_options) keys = Set.new(route_options.keys) Set[*REQUIRED_ROUTE_KEYS].subset?(keys) end