group_mixer 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/group_mixer/version.rb +1 -1
- data/lib/group_mixer.rb +5 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b352c4423d0ccd5afa79ce79098d709cd01f22de
|
4
|
+
data.tar.gz: 261194246eefc4ac8fc903d81885313f217a2b63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b385b6bc3f80ca3783744a225b699131b60055208210ea8ea65206b056f7c5a673f57c3d1495283188a64350f0bdeb2eb395a821e8f0d4d8116f5b11fd56e04
|
7
|
+
data.tar.gz: 7b24c32e6dcd2243ebae53cc008b5e2073a4ee42a34b60d99daf0a6c050f55679b3ca862d7b25fa25512dd0319bbf3beafca1a8f953c56638e7f2de8f3806f22
|
data/Gemfile.lock
CHANGED
data/lib/group_mixer/version.rb
CHANGED
data/lib/group_mixer.rb
CHANGED
@@ -5,12 +5,17 @@ require "group_mixer/weighted_group"
|
|
5
5
|
module GroupMixer
|
6
6
|
class ZeroGroupSize < StandardError
|
7
7
|
end
|
8
|
+
class ZeroMaxMemberSize < StandardError
|
9
|
+
end
|
8
10
|
|
9
11
|
def self.by_group_size(people, past_set, group_size)
|
10
12
|
Mixer.new(people, past_set, group_size).execute
|
11
13
|
end
|
12
14
|
|
13
15
|
def self.by_member_size(people, past_set, max_member_size)
|
16
|
+
if max_member_size.to_f < 1
|
17
|
+
raise ZeroMaxMemberSize, 'max_member_size must be a number greater than 1'
|
18
|
+
end
|
14
19
|
group_size = (people.size / max_member_size.to_f).ceil
|
15
20
|
Mixer.new(people, past_set, group_size).execute
|
16
21
|
end
|