funkr 0.0.22 → 0.0.23
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.
- data/lib/funkr/extensions/enumerable.rb +7 -0
- data/lib/funkr/version.rb +1 -1
- data/test/test_extensions.rb +6 -0
- metadata +4 -4
@@ -2,6 +2,13 @@
|
|
2
2
|
module Enumerable
|
3
3
|
|
4
4
|
# enumerable extensions
|
5
|
+
|
6
|
+
# Folds an enumerable with an operator
|
7
|
+
def fold_with(sym)
|
8
|
+
self.inject{|a,e| a.public_send(sym,e)}
|
9
|
+
end
|
10
|
+
|
11
|
+
# Check if all elements in collection are differents
|
5
12
|
def all_different?
|
6
13
|
a = self.to_a.drop(1)
|
7
14
|
self.each do |e|
|
data/lib/funkr/version.rb
CHANGED
data/test/test_extensions.rb
CHANGED
@@ -47,6 +47,12 @@ class TestExtensions < Test::Unit::TestCase
|
|
47
47
|
assert_equal(30, (0..100).to_a.seq_index([30,31,32]))
|
48
48
|
end
|
49
49
|
|
50
|
+
def test_fold_with
|
51
|
+
assert_equal(15, [1,2,3,4,5].fold_with(:+))
|
52
|
+
assert_equal(6, [1,2,3].fold_with(:*))
|
53
|
+
assert_equal(1, [256,2,2,2,2,2,2,2,2].fold_with(:/))
|
54
|
+
end
|
55
|
+
|
50
56
|
def test_diff_with
|
51
57
|
a = [ {:v => 1}, {:v => 2}, {:v => 3}, {:v => 2}, {:v => 3} ]
|
52
58
|
b = [ {:v => 2}, {:v => 3}, {:v => 4}, {:v => 3}, {:v => 4} ]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: funkr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.23
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-21 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &18284740 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 0.9.2
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *18284740
|
25
25
|
description: ! '[EXPERIMENTAL] Some functionnal constructs for ruby, like ADT, functors,
|
26
26
|
monads'
|
27
27
|
email:
|