Class: CLabs::CaseGen::Sets
Instance Attribute Summary collapse
-
#combinations ⇒ Object
Returns the value of attribute combinations.
-
#set_titles ⇒ Object
Returns the value of attribute set_titles.
-
#sets ⇒ Object
Returns the value of attribute sets.
Attributes inherited from Agent
Class Method Summary collapse
Instance Method Summary collapse
- #all(*args) ⇒ Object
- #generate_combinations ⇒ Object
-
#initialize(data, reference_agents = nil) ⇒ Sets
constructor
A new instance of Sets.
- #parse_sets ⇒ Object
- #set_by_name(setname) ⇒ Object
- #set_names ⇒ Object
- #titles ⇒ Object
Constructor Details
#initialize(data, reference_agents = nil) ⇒ Sets
Returns a new instance of Sets.
38 39 40 41 42 |
# File 'lib/agents/sets.rb', line 38 def initialize(data, reference_agents=nil) @data = data @sets = [] parse_sets end |
Instance Attribute Details
#combinations ⇒ Object
Returns the value of attribute combinations.
32 33 34 |
# File 'lib/agents/sets.rb', line 32 def combinations @combinations end |
#set_titles ⇒ Object
Returns the value of attribute set_titles.
32 33 34 |
# File 'lib/agents/sets.rb', line 32 def set_titles @set_titles end |
#sets ⇒ Object
Returns the value of attribute sets.
32 33 34 |
# File 'lib/agents/sets.rb', line 32 def sets @sets end |
Class Method Details
Instance Method Details
#all(*args) ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/agents/sets.rb', line 65 def all(*args) result = [] EnumerableOperator::Product.new(*args).each { |tuple| result << tuple } result end |
#generate_combinations ⇒ Object
54 55 56 57 58 59 |
# File 'lib/agents/sets.rb', line 54 def generate_combinations arrays = [] @set_titles = [] @sets.each do |set| arrays << set.data; @set_titles << set.name end @combinations = all(*arrays) end |
#parse_sets ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'lib/agents/sets.rb', line 44 def parse_sets set_names = @data.scan(/^\s*(\w.*):/) set_data = @data.scan(/:(.*)/) sets = set_names.flatten.zip(set_data.flatten) sets.each do |set_array| @sets << Set.new(set_array[0], set_array[1].split(/, /)) end generate_combinations end |
#set_by_name(setname) ⇒ Object
79 80 81 |
# File 'lib/agents/sets.rb', line 79 def set_by_name(setname) @sets.detect do |set| set.name =~ /#{Regexp.escape(setname)}/ end end |
#set_names ⇒ Object
73 74 75 76 77 |
# File 'lib/agents/sets.rb', line 73 def set_names names = [] @sets.each do |set| names << set.name end names end |
#titles ⇒ Object
61 62 63 |
# File 'lib/agents/sets.rb', line 61 def titles @set_titles end |