Class: Stamp::Emitters::Ambiguous

Inherits:
Object
  • Object
show all
Defined in:
lib/stamp/emitters/ambiguous.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*emitters) ⇒ Ambiguous

Returns a new instance of Ambiguous.



6
7
8
# File 'lib/stamp/emitters/ambiguous.rb', line 6

def initialize(*emitters)
  @potential_emitters = emitters
end

Instance Attribute Details

#potential_emittersObject (readonly)

Returns the value of attribute potential_emitters.



4
5
6
# File 'lib/stamp/emitters/ambiguous.rb', line 4

def potential_emitters
  @potential_emitters
end

Instance Method Details

#disambiguate(emitters) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/stamp/emitters/ambiguous.rb', line 14

def disambiguate(emitters)
  other_emitters = emitters - self
  known_fields = other_emitters.map { |e| e.field }.compact

  potential_emitters.reject do |potential_emitter|
    known_fields.include?(potential_emitter.field)
  end.first
end

#fieldObject



10
11
12
# File 'lib/stamp/emitters/ambiguous.rb', line 10

def field
  nil
end