Class: CfSim::ControlFieldSetFinder
- Inherits:
-
Object
- Object
- CfSim::ControlFieldSetFinder
- Defined in:
- lib/cf_sim/control_field_set_finder.rb
Instance Method Summary collapse
- #find_all_fields_list ⇒ Object
- #find_max_area_fields ⇒ Object
- #find_max_count_fields_list ⇒ Object
-
#initialize(fields, limit_field_count = 1) ⇒ ControlFieldSetFinder
constructor
A new instance of ControlFieldSetFinder.
Constructor Details
#initialize(fields, limit_field_count = 1) ⇒ ControlFieldSetFinder
Returns a new instance of ControlFieldSetFinder.
5 6 7 8 9 |
# File 'lib/cf_sim/control_field_set_finder.rb', line 5 def initialize(fields, limit_field_count = 1) @fields = CfSim::ControlFieldSet.new(fields.sort_by(&:area).reverse) @coexistable_field_map = CfSim::CoexistableFieldMap.new(@fields) @limit_field_count = limit_field_count end |
Instance Method Details
#find_all_fields_list ⇒ Object
17 18 19 20 21 |
# File 'lib/cf_sim/control_field_set_finder.rb', line 17 def find_all_fields_list @control_fields_list = [] find_recursively(CfSim::ControlFieldSet.new, @fields, :all) @control_fields_list end |
#find_max_area_fields ⇒ Object
11 12 13 14 15 |
# File 'lib/cf_sim/control_field_set_finder.rb', line 11 def find_max_area_fields @max_area_control_fields = nil find_recursively(CfSim::ControlFieldSet.new, @fields, :max_area) @max_area_control_fields end |
#find_max_count_fields_list ⇒ Object
23 24 25 26 27 |
# File 'lib/cf_sim/control_field_set_finder.rb', line 23 def find_max_count_fields_list @max_count_control_fields_list = [] find_recursively(CfSim::ControlFieldSet.new, @fields, :max_count) @max_count_control_fields_list.sort_by(&:total_area).reverse end |