group_mixer 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/group_mixer/mixer.rb +11 -1
- data/lib/group_mixer/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a835a59f09e9161725341af2f34130dbb5e86b33
|
4
|
+
data.tar.gz: e0af0ea15926b2af38a53f11507f3140d26f6029
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4fae5e6e48c9257ef761af1b43420c038106237989b915209982915e921dcf165abc40d75f4333cf1717dd1322970a755b5ec57c92c570e5b913bbf149d2db9
|
7
|
+
data.tar.gz: 9b03616081b1c3740229d9edc7575617eed74f67faec392f6163da0ee0ba264043e410860a8e31610e7dd61706be8ba2e695cbc18412ee8656a264fab0cd45fd
|
data/lib/group_mixer/mixer.rb
CHANGED
@@ -49,12 +49,22 @@ class Mixer
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def select_group(groups, person, links)
|
52
|
+
group_relevance = get_group_relevance(groups, person, links)
|
53
|
+
min_relevence = group_relevance.min{ |x, y| x[1] <=> y[1] }[1]
|
54
|
+
min_relevence_groups = group_relevance.select { |g, v| v == min_relevence }.keys
|
55
|
+
max_relevence_group_size = min_relevence_groups.max{ |x, y|
|
56
|
+
x.members.size <=> y.members.size
|
57
|
+
}.members.size
|
58
|
+
min_relevence_groups.select { |g| g.members.size == max_relevence_group_size }.sample
|
59
|
+
end
|
60
|
+
|
61
|
+
def get_group_relevance(groups, person, links)
|
52
62
|
groups.each_with_object(Hash.new) { |g, hash|
|
53
63
|
if g.full?
|
54
64
|
hash[g] = MAX_AMOUNT
|
55
65
|
else
|
56
66
|
hash[g] = g.inject(0) { |sum, m| sum += links[Set[m, person]].to_i }
|
57
67
|
end
|
58
|
-
}
|
68
|
+
}
|
59
69
|
end
|
60
70
|
end
|
data/lib/group_mixer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: group_mixer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- iwtn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|