group_mixer 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 96f7557c79b022995704b2bc75254edf5d42107c
4
- data.tar.gz: 18afffdc0fbeddf1df63dea8eb2ef3f3a9e2255a
3
+ metadata.gz: a835a59f09e9161725341af2f34130dbb5e86b33
4
+ data.tar.gz: e0af0ea15926b2af38a53f11507f3140d26f6029
5
5
  SHA512:
6
- metadata.gz: d9ab635121d010486477f7e446123cf9f9758c210e4a7337cc3fccdea39cfa34e3994322a4c57a2a53ec803ebd5a1a6f60beeae6fa8936d68d81df49ca3ff4ec
7
- data.tar.gz: 38d73ebc47c003fce25efefcc0f1107ac1cfcdc74fe9d45b0770ff2593d1e8c6dda0598e910534a09035dc733ffb7130d09d2f2b52615761dd47baf65ace12aa
6
+ metadata.gz: c4fae5e6e48c9257ef761af1b43420c038106237989b915209982915e921dcf165abc40d75f4333cf1717dd1322970a755b5ec57c92c570e5b913bbf149d2db9
7
+ data.tar.gz: 9b03616081b1c3740229d9edc7575617eed74f67faec392f6163da0ee0ba264043e410860a8e31610e7dd61706be8ba2e695cbc18412ee8656a264fab0cd45fd
@@ -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
- }.min{ |x, y| x[1] <=> y[1] }[0]
68
+ }
59
69
  end
60
70
  end
@@ -1,3 +1,3 @@
1
1
  module GroupMixer
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
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.1.1
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-23 00:00:00.000000000 Z
11
+ date: 2017-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler