class ActionDispatch::Routing::Mapper
Public Instance Methods
api_guard_routes(options = {})
click to toggle source
# File lib/api_guard/route_mapper.rb, line 10 def api_guard_routes(options = {}) routes_for = options.delete(:for).to_s || 'users' controllers = default_controllers(options[:only], options[:except]) controller_options = options.delete(:controller) options[:as] = options[:as] || routes_for.singularize options[:path] = options[:path] || routes_for api_guard_scope(routes_for) do |mapped_resource| scope options do generate_routes(mapped_resource, controller_options, controllers) end end end
api_guard_scope(routes_for) { |mapped_resource| ... }
click to toggle source
# File lib/api_guard/route_mapper.rb, line 26 def api_guard_scope(routes_for) mapped_resource = ApiGuard.mapped_resource[routes_for.to_sym].presence || ApiGuard.map_resource(routes_for, routes_for.classify) constraint = lambda do |request| request.env['api_guard.mapping'] = mapped_resource true end constraints(constraint) do yield(mapped_resource) end end
Private Instance Methods
authentication_routes(controller_name = nil)
click to toggle source
# File lib/api_guard/route_mapper.rb, line 58 def authentication_routes(controller_name = nil) controller_name ||= 'api_guard/authentication' post 'sign_in' => "#{controller_name}#create" delete 'sign_out' => "#{controller_name}#destroy" end
default_controllers(only, except)
click to toggle source
# File lib/api_guard/route_mapper.rb, line 42 def default_controllers(only, except) return only if only controllers = %i[registration authentication tokens passwords] except ? (controllers - except) : controllers end
generate_routes(mapped_resource, options, controllers)
click to toggle source
# File lib/api_guard/route_mapper.rb, line 49 def generate_routes(mapped_resource, options, controllers) options ||= {} controllers -= %i[tokens] unless mapped_resource.resource_class.refresh_token_association controllers.each do |controller| send("#{controller}_routes", options[controller]) end end
passwords_routes(controller_name = nil)
click to toggle source
# File lib/api_guard/route_mapper.rb, line 72 def passwords_routes(controller_name = nil) controller_name ||= 'api_guard/passwords' patch 'passwords' => "#{controller_name}#update" end
registration_routes(controller_name = nil)
click to toggle source
# File lib/api_guard/route_mapper.rb, line 65 def registration_routes(controller_name = nil) controller_name ||= 'api_guard/registration' post 'sign_up' => "#{controller_name}#create" delete 'delete' => "#{controller_name}#destroy" end
tokens_routes(controller_name = nil)
click to toggle source
# File lib/api_guard/route_mapper.rb, line 78 def tokens_routes(controller_name = nil) controller_name ||= 'api_guard/tokens' post 'tokens' => "#{controller_name}#create" end