uberscore 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/lib/uberscore/version.rb +1 -1
- data/lib/uberscore.rb +6 -2
- data/spec/uberscore_spec.rb +4 -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: 39563e475c0491d14d447db971e5e6064393da35
|
4
|
+
data.tar.gz: 1fe037f97071b82b716c0e901bccf88a230dbaee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a31a07cea9dfa399501af6e8e19ccdd2d4323496607e896710be5f62247ceff7a023383d80c4a1a954e4bd17e8366b038803a79dbc01a727a581516eb3d93fd8
|
7
|
+
data.tar.gz: 02270ba32adad1567a57ccd999d5c73bca0abf194edfe28058f5c88b367ddc381c372357b8f1f4cd6a683e12300ed8770e97f8af464a43677775829c624b3034
|
data/README.md
CHANGED
@@ -18,6 +18,10 @@ Born to make your Ruby blocks more concise.
|
|
18
18
|
# Subscript.
|
19
19
|
[{ name: "foo" }, { name: "bar" }].map { |hash| hash[:name] }
|
20
20
|
[{ name: "foo" }, { name: "bar" }].map(&_[:name])
|
21
|
+
|
22
|
+
# Use multiple arguments.
|
23
|
+
[[1, 2], [3, 4]].map(&_ + _)
|
24
|
+
[[1, 2], [3, 4]].map { |a, b| a + b }
|
21
25
|
```
|
22
26
|
|
23
27
|
## Installation
|
data/lib/uberscore/version.rb
CHANGED
data/lib/uberscore.rb
CHANGED
@@ -11,7 +11,6 @@ module Uberscore
|
|
11
11
|
undef_method :!=
|
12
12
|
undef_method :==
|
13
13
|
undef_method :__id__
|
14
|
-
undef_method :__send__
|
15
14
|
|
16
15
|
def initialize
|
17
16
|
@call_chain = []
|
@@ -25,7 +24,12 @@ module Uberscore
|
|
25
24
|
def to_proc
|
26
25
|
->(object) do
|
27
26
|
@call_chain.reduce(object) do |current, (name, args, block)|
|
28
|
-
|
27
|
+
case args.first
|
28
|
+
when Context
|
29
|
+
current[0].public_send(name, current[1], &block)
|
30
|
+
else
|
31
|
+
current.public_send(name, *args, &block)
|
32
|
+
end
|
29
33
|
end
|
30
34
|
end
|
31
35
|
end
|
data/spec/uberscore_spec.rb
CHANGED
@@ -16,4 +16,8 @@ describe Uberscore do
|
|
16
16
|
it "can subscript" do
|
17
17
|
expect([{ name: "foo" }, { name: "bar" }].map(&_[:name])).to eq([{ name: "foo" }, { name: "bar" }].map { |hash| hash[:name] })
|
18
18
|
end
|
19
|
+
|
20
|
+
it "can use two parameters" do
|
21
|
+
expect([[1, 2], [3, 4]].map(&_ + _)).to eq([3, 7])
|
22
|
+
end
|
19
23
|
end
|