rpromise 0.1.2 → 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 +4 -4
- data/README.md +10 -0
- data/lib/method.rb +7 -0
- data/lib/rpromise/version.rb +1 -1
- data/lib/rpromise.rb +1 -0
- data/spec/lib/method_spec.rb +28 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16f6311980e55c27386c4edf93b2c58864a395b8
|
4
|
+
data.tar.gz: ac7642a6d38a79bce94f358d8e29dacd5948b66e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4dba3ecadeb7047e5c4de046c5fea66023f37cbf77ebc74a211f9ca374a6a7720ff31bc4fed452a590cbd5aedb00efacc1881d7e5bbbc2a14125135d17fc1bc9
|
7
|
+
data.tar.gz: 23f7214a55a31d6427a3f37425f61f341ba299a1593cac98d65737993599a1ce506de8acd6039112542f9a0f9ce7c0f51bd5642772283eb72915c8bcaa158237
|
data/README.md
CHANGED
@@ -149,6 +149,16 @@ promise.then(lambda do |value|
|
|
149
149
|
end)
|
150
150
|
```
|
151
151
|
|
152
|
+
or you can convert a method to a promise
|
153
|
+
|
154
|
+
```ruby
|
155
|
+
promise = 100.method(:to_s).to_rpromise
|
156
|
+
|
157
|
+
promise.then(lambda do |value|
|
158
|
+
value[0...2] # => "10"
|
159
|
+
end)
|
160
|
+
```
|
161
|
+
|
152
162
|
## Contributing
|
153
163
|
|
154
164
|
1. Fork it
|
data/lib/method.rb
ADDED
data/lib/rpromise/version.rb
CHANGED
data/lib/rpromise.rb
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Method do
|
4
|
+
MyObject = Struct.new(:store) do
|
5
|
+
def method_with_args(*args)
|
6
|
+
return args
|
7
|
+
end
|
8
|
+
def method_with_block
|
9
|
+
yield
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
let(:obj) { MyObject.new('Hello World') }
|
14
|
+
|
15
|
+
describe '#to_rpromise' do
|
16
|
+
it 'converts method object to a promise' do
|
17
|
+
lambda_value = nil
|
18
|
+
lock = true
|
19
|
+
p = obj.method(:store).to_rpromise
|
20
|
+
p.then(lambda do |value|
|
21
|
+
lambda_value = value
|
22
|
+
lock = false
|
23
|
+
end)
|
24
|
+
loop { break unless lock }
|
25
|
+
expect(lambda_value).to eq 'Hello World'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rpromise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Molinari
|
@@ -109,9 +109,11 @@ files:
|
|
109
109
|
- LICENSE.txt
|
110
110
|
- README.md
|
111
111
|
- Rakefile
|
112
|
+
- lib/method.rb
|
112
113
|
- lib/rpromise.rb
|
113
114
|
- lib/rpromise/version.rb
|
114
115
|
- rpromise.gemspec
|
116
|
+
- spec/lib/method_spec.rb
|
115
117
|
- spec/lib/rpromise_spec.rb
|
116
118
|
- spec/spec_helper.rb
|
117
119
|
homepage: ''
|
@@ -139,5 +141,6 @@ signing_key:
|
|
139
141
|
specification_version: 4
|
140
142
|
summary: Handle async method easily
|
141
143
|
test_files:
|
144
|
+
- spec/lib/method_spec.rb
|
142
145
|
- spec/lib/rpromise_spec.rb
|
143
146
|
- spec/spec_helper.rb
|