Module: RailsRoutable
- Included in:
- ActiveEndpoint::Request, ActiveEndpoint::Routes::Matcher
- Defined in:
- lib/active_endpoint/concerns/rails_routable.rb
Constant Summary collapse
- ACTION_KEYS =
[ :controller, :action ].freeze
Instance Method Summary collapse
- #rails_action(request) ⇒ Object
- #rails_action?(request) ⇒ Boolean
- #rails_endpoint(request) ⇒ Object
- #rails_endpoint_name(action) ⇒ Object
- #rails_request_params(request) ⇒ Object
- #rails_route_pattern(request) ⇒ Object
- #rails_routes ⇒ Object
Instance Method Details
#rails_action(request) ⇒ Object
32 33 34 35 36 |
# File 'lib/active_endpoint/concerns/rails_routable.rb', line 32 def rails_action(request) rails_routes.recognize_path(request.path, method: request.method) rescue ActionController::RoutingError nil end |
#rails_action?(request) ⇒ Boolean
7 8 9 |
# File 'lib/active_endpoint/concerns/rails_routable.rb', line 7 def rails_action?(request) rails_action(request).present? end |
#rails_endpoint(request) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/active_endpoint/concerns/rails_routable.rb', line 19 def rails_endpoint(request) action = rails_action(request) return unless action action.select do |key, _value| ACTION_KEYS.include?(key) end end |
#rails_endpoint_name(action) ⇒ Object
27 28 29 30 |
# File 'lib/active_endpoint/concerns/rails_routable.rb', line 27 def rails_endpoint_name(action) return unless action "#{action[:controller]}##{action[:action]}" end |
#rails_request_params(request) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/active_endpoint/concerns/rails_routable.rb', line 11 def rails_request_params(request) action = rails_action(request) return unless action action.reject do |key, _value| ACTION_KEYS.include?(key) end end |
#rails_route_pattern(request) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/active_endpoint/concerns/rails_routable.rb', line 38 def rails_route_pattern(request) rails_routes.router.recognize(request) do |route| return route.path.spec.to_s end rescue ActionController::RoutingError nil end |
#rails_routes ⇒ Object
46 47 48 |
# File 'lib/active_endpoint/concerns/rails_routable.rb', line 46 def rails_routes ::Rails.application.routes end |