class FriendlyRoutes::MultiComposer

Compoer will map passed params to friendly_route params

Attributes

matched_route[R]

Public Class Methods

new(routes, params = {}) click to toggle source
# File lib/friendly_routes/services/multi_composer.rb, line 8
def initialize(routes, params = {})
  @routes = routes
  @params = params.dup
end

Public Instance Methods

call() click to toggle source
# File lib/friendly_routes/services/multi_composer.rb, line 13
def call
  compose unless @composed_params
  @composed_params
end

Private Instance Methods

compose() click to toggle source
# File lib/friendly_routes/services/multi_composer.rb, line 20
def compose
  @routes.each do |route|
    composer = Composer.new(route, @params)
    next unless composer.can_be_composed?
    @matched_route = route
    @composed_params = composer.call
    break
  end
end