Class: CfSim::CoexistableFieldMap

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/cf_sim/coexistable_field_map.rb

Instance Method Summary collapse

Constructor Details

#initialize(fields) ⇒ CoexistableFieldMap

Returns a new instance of CoexistableFieldMap.



6
7
8
9
10
# File 'lib/cf_sim/coexistable_field_map.rb', line 6

def initialize(fields)
  @map = fields.each_with_object({}) do |field, map|
    map[field] = CfSim::ControlFieldSet.new(fields.reject { |other| field == other || field.intersected?(other) })
  end
end

Instance Method Details

#[](field) ⇒ Object



12
13
14
# File 'lib/cf_sim/coexistable_field_map.rb', line 12

def [](field)
  @map[field]
end

#eachObject



16
17
18
# File 'lib/cf_sim/coexistable_field_map.rb', line 16

def each
  @map.each { |field, coexistable_fields| yield field, coexistable_fields }
end