module Aygabtu::Scope::Named

Public Class Methods

factory_methods() click to toggle source
# File lib/aygabtu/scope/named.rb, line 33
def self.factory_methods
  [:named]
end

Public Instance Methods

inspect_data() click to toggle source
Calls superclass method
# 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) click to toggle source
Calls superclass method
# 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) click to toggle source
# 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() click to toggle source
Calls superclass method
# 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