Class: RubyRoutes::Segments::DynamicSegment
- Inherits:
-
BaseSegment
- Object
- BaseSegment
- RubyRoutes::Segments::DynamicSegment
- Defined in:
- lib/ruby_routes/segments/dynamic_segment.rb
Instance Method Summary collapse
- #ensure_child(current) ⇒ Object
-
#initialize(text) ⇒ DynamicSegment
constructor
A new instance of DynamicSegment.
- #match(node, text, _idx, _segments, params) ⇒ Object
Methods inherited from BaseSegment
Constructor Details
#initialize(text) ⇒ DynamicSegment
Returns a new instance of DynamicSegment.
4 5 6 |
# File 'lib/ruby_routes/segments/dynamic_segment.rb', line 4 def initialize(text) @name = text[1..-1] end |
Instance Method Details
#ensure_child(current) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/ruby_routes/segments/dynamic_segment.rb', line 8 def ensure_child(current) current.dynamic_child ||= Node.new current = current.dynamic_child current.param_name = @name current end |
#match(node, text, _idx, _segments, params) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/ruby_routes/segments/dynamic_segment.rb', line 15 def match(node, text, _idx, _segments, params) return [nil, false] unless node.dynamic_child nxt = node.dynamic_child params[nxt.param_name.to_s] = text if params [nxt, false] end |