Module: Aygabtu::Scope::Named
- Defined in:
- lib/aygabtu/scope/named.rb
Class Method Summary collapse
Instance Method Summary collapse
- #inspect_data ⇒ Object
- #matches_route?(route) ⇒ Boolean
- #named(*names) ⇒ Object
- #segments_split_once ⇒ Object
Class Method Details
.factory_methods ⇒ Object
33 34 35 |
# File 'lib/aygabtu/scope/named.rb', line 33 def self.factory_methods [:named] end |
Instance Method Details
#inspect_data ⇒ Object
28 29 30 31 |
# File 'lib/aygabtu/scope/named.rb', line 28 def inspect_data return super unless names = @data[:names] super.merge(name: names.map(&:inspect).join('; ')) end |
#matches_route?(route) ⇒ Boolean
11 12 13 14 15 16 17 |
# File 'lib/aygabtu/scope/named.rb', line 11 def matches_route?(route) if @data[:names] @data[:names].include?(route.name) else true end && super end |
#named(*names) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/aygabtu/scope/named.rb', line 4 def named(*names) raise "nesting/chaining named in/after named makes no sense" if @data[:names] new_data = @data.dup.merge(names: names.map(&:to_s)) self.class.new(new_data) end |
#segments_split_once ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/aygabtu/scope/named.rb', line 19 def segments_split_once return super unless Array(@data[:names]).length > 1 @data[:names].map do |name| new_data = @data.merge(names: [name]) self.class.new(new_data) end end |