bootstripe 0.2.22 → 0.2.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bootstripe/hash_additions.rb +2 -2
- data/lib/bootstripe/version.rb +1 -1
- data/spec/frequency_spec.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: bc9b136f7c4a1fecfaf007a09d09628c6c254ca7
|
4
|
+
data.tar.gz: 4a10160832d0813d1c1b0696a2fddb0cc7652cb6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e259c7380cb85102c33452e2f4474ba3bd1c77b04b72a7e75c8c05b77862eb5b4037e8c1ce9644549b5c0e46a1c1a1c92696cc6ab5a03ad6ab5c69763068e6c
|
7
|
+
data.tar.gz: 129f5ae831e2204b927a49c7deaebc3d79d22633d777888533aa753e2e5681bef13db506e196fd3157c96a01458bc6319ed468a7b9150b6348080952e0cf4123
|
@@ -25,13 +25,13 @@ class Hash
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def random_by_frequency(seed = nil)
|
28
|
-
options = select{ |k,v| v.is_a?(
|
28
|
+
options = select{ |k,v| v.is_a?(Numeric) || (v.is_a?(Hash) && (v['frequency'] || v[:frequency])) }
|
29
29
|
total_frequency = options.map{ |k,v| v.is_a?(Hash) ? v['frequency'] || v[:frequency] : v }.sum
|
30
30
|
seed ||= (rand * total_frequency)
|
31
31
|
|
32
32
|
s = 0
|
33
33
|
options.find do |option, val|
|
34
|
-
freq = val.is_a?(
|
34
|
+
freq = val.is_a?(Numeric) ? val : val['frequency'] || val[:frequency]
|
35
35
|
s += freq
|
36
36
|
return option if s > seed
|
37
37
|
end
|
data/lib/bootstripe/version.rb
CHANGED
data/spec/frequency_spec.rb
CHANGED