Class: Stamp::Emitters::Ambiguous
- Inherits:
-
Object
- Object
- Stamp::Emitters::Ambiguous
- Defined in:
- lib/stamp/emitters/ambiguous.rb
Instance Attribute Summary collapse
-
#potential_emitters ⇒ Object
readonly
Returns the value of attribute potential_emitters.
Instance Method Summary collapse
- #disambiguate(emitters) ⇒ Object
- #field ⇒ Object
-
#initialize(*emitters) ⇒ Ambiguous
constructor
A new instance of Ambiguous.
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_emitters ⇒ Object (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 |
#field ⇒ Object
10 11 12 |
# File 'lib/stamp/emitters/ambiguous.rb', line 10 def field nil end |