Class: FriendlyRoutes::Route

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = [], prefix: 'friendly_routes') ⇒ Route

Returns a new instance of Route.



7
8
9
10
# File 'lib/friendly_routes/route.rb', line 7

def initialize(params = [], prefix: 'friendly_routes')
  @params = params
  @prefix = prefix
end

Instance Attribute Details

#methodObject

Returns the value of attribute method.



5
6
7
# File 'lib/friendly_routes/route.rb', line 5

def method
  @method
end

#paramsObject

Returns the value of attribute params.



5
6
7
# File 'lib/friendly_routes/route.rb', line 5

def params
  @params
end

#prefixObject

Returns the value of attribute prefix.



5
6
7
# File 'lib/friendly_routes/route.rb', line 5

def prefix
  @prefix
end

Instance Method Details

#constraintsObject



16
17
18
# File 'lib/friendly_routes/route.rb', line 16

def constraints
  FriendlyRoutes::Constraints.new(dynamic_params, @prefix).call
end

#dynamic_paramsObject



20
21
22
# File 'lib/friendly_routes/route.rb', line 20

def dynamic_params
  @params.select { |param| param.is_a?(FriendlyRoutes::Params::Base) }
end

#inspectObject



28
29
30
# File 'lib/friendly_routes/route.rb', line 28

def inspect
  dynamic_params.map(&:name).join(', ')
end

#pathObject



12
13
14
# File 'lib/friendly_routes/route.rb', line 12

def path
  FriendlyRoutes::PrefixedParams.new(@params, @prefix).to_s
end

#required_paramsObject



24
25
26
# File 'lib/friendly_routes/route.rb', line 24

def required_params
  dynamic_params.select(&:required?)
end