Module: GroupMixer
- Defined in:
- lib/group_mixer.rb,
lib/group_mixer/group.rb,
lib/group_mixer/mixer.rb,
lib/group_mixer/version.rb,
lib/group_mixer/weighted_group.rb
Defined Under Namespace
Classes: Group, Mixer, WeightedGroup, ZeroGroupSize, ZeroMaxMemberSize
Constant Summary
collapse
- VERSION =
"0.5.0"
Class Method Summary
collapse
Class Method Details
.by_group_size(people, past_set, group_size, is_separate_reminders = false) ⇒ Object
9
10
11
|
# File 'lib/group_mixer.rb', line 9
def self.by_group_size(people, past_set, group_size, is_separate_reminders = false)
Mixer.new(people, past_set, group_size, is_separate_reminders).execute
end
|
.by_member_size(people, past_set, max_member_size, is_separate_reminders = false) ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/group_mixer.rb', line 13
def self.by_member_size(people, past_set, max_member_size, is_separate_reminders = false)
if max_member_size.to_f < 1
raise ZeroMaxMemberSize, 'max_member_size must be a number greater than 1'
end
group_size = (people.size / max_member_size.to_f).ceil
Mixer.new(people, past_set, group_size, is_separate_reminders).execute
end
|