Class: DivvyUp::List

Inherits:
Object
  • Object
show all
Defined in:
lib/divvy_up/list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(items) ⇒ List

Returns a new instance of List.



5
6
7
# File 'lib/divvy_up/list.rb', line 5

def initialize(items)
  @items = items
end

Instance Attribute Details

#itemsObject (readonly)

Returns the value of attribute items.



3
4
5
# File 'lib/divvy_up/list.rb', line 3

def items
  @items
end

Instance Method Details

#split(groups) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/divvy_up/list.rb', line 9

def split(groups)
  return [self.items] if groups == 1
  permutations = generate_list_permutations
  permutation_price_differences = calculate_permutation_price_differences(permutations, groups)
  sorted_price_differences = generate_list_combinations(permutation_price_differences)
  list_possibilities = find_full_list(permutation_price_differences, sorted_price_differences)
  output_final_lists(list_possibilities, groups)
end