Class: Accord::SubscriberLookup

Inherits:
BaseLookup show all
Defined in:
lib/accord/subscription_registry.rb

Instance Attribute Summary

Attributes inherited from BaseLookup

#extendors, #hash, #order

Instance Method Summary collapse

Methods inherited from BaseLookup

#[], #[]=, #delete, #initialize, #partial

Constructor Details

This class inherits a constructor from Accord::BaseLookup

Instance Method Details

#all(required, provided) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/accord/subscription_registry.rb', line 6

def all(required, provided)
  extendor = extendors.get(provided)
  return [] unless extendor
  hash.select_expansions(required + [provided, '']) do |key|
    if required.include?(key)
      key.ancestors.reverse
    elsif key.equal?(provided)
      extendor.current.reverse
    else
      ['']
    end
  end.flatten
end