Class: FriendlyRoutes::Composer

Inherits:
Object
  • Object
show all
Defined in:
lib/friendly_routes/services/composer.rb

Overview

Compoer will map passed params to friendly_route params

Instance Method Summary collapse

Constructor Details

#initialize(route, params = {}) ⇒ Composer

Returns a new instance of Composer.



6
7
8
9
# File 'lib/friendly_routes/services/composer.rb', line 6

def initialize(route, params = {})
  @route = route
  @params = params.dup
end

Instance Method Details

#callObject



11
12
13
14
15
16
17
# File 'lib/friendly_routes/services/composer.rb', line 11

def call
  return unless @route
  @route.dynamic_params.each do |param|
    compose(param)
  end
  @params
end

#can_be_composed?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
# File 'lib/friendly_routes/services/composer.rb', line 19

def can_be_composed?
  return unless @route
  @route.required_params.all? do |param|
    param.allowed? @params[param.name]
  end
end