Class: Graphiti::Util::PublicIdMap
- Defined in:
- lib/graphiti/util/public_id_map.rb
Instance Method Summary collapse
- #[](primary_key) ⇒ Object
- #add(primary_keys) ⇒ Object
-
#initialize(resource_class, filter_name) ⇒ PublicIdMap
constructor
A new instance of PublicIdMap.
Constructor Details
#initialize(resource_class, filter_name) ⇒ PublicIdMap
Returns a new instance of PublicIdMap.
4 5 6 7 8 9 |
# File 'lib/graphiti/util/public_id_map.rb', line 4 def initialize(resource_class, filter_name) @resource_class = resource_class @filter_name = filter_name @pending = Concurrent::Map.new @resolved = {} end |
Instance Method Details
#[](primary_key) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/graphiti/util/public_id_map.rb', line 15 def [](primary_key) return if primary_key.nil? resolve(@pending.keys) unless @pending.empty? resolve([primary_key]) unless @resolved.key?(primary_key) @resolved[primary_key] end |
#add(primary_keys) ⇒ Object
11 12 13 |
# File 'lib/graphiti/util/public_id_map.rb', line 11 def add(primary_keys) primary_keys.each { |key| @pending[key] = true unless @resolved.key?(key) } end |