promise.rb 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDc3Mjc3N2NjZGNlYzFjOGFkMGNmNTRmZTI3ZDYwZjJkMWYzMTM4YQ==
4
+ ZDMwMDA0YTBhY2ZkMzE2MzVhNjBkMmQ4ZGRjN2M0MzRiODFkY2Q2OQ==
5
5
  data.tar.gz: !binary |-
6
- MTE2NTg0ZGZhZDNhNjMwZjgzOWRhODFlMjU0MjhjOTdjOGQ1NzExZg==
6
+ MDI1ZDlhYzFmM2ViMzkwYzI0YzJhMTM4MDg3YmFhMzhjZjQ2YTcyMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- M2Q4ODVmZGUyZjRkNjhkOTJiMTM2Y2E5YTAzZDkwMjQ1OTQ1ODkyNDYzN2Zj
10
- ZjA3ZjI5MzBlNDQ4NjljMDliMjlhMzFiMGVhYWU3NjQwOTgyMGZlYWVkMTYz
11
- YTY0MjQxOTk4Y2RmMjJiN2M1YzU3NDEzNGYyYjA4NGZjMzkxMzc=
9
+ ODExMWZlZjg3YWNmMGM2ZmZhMGI4M2I0OTJlMjJkN2VkOTY4M2E5NjIzZDlj
10
+ Nzk1Njc0NjQwNTUzMGJjMGJmZmJlOGNmNGI1YTFhZWZkNGMwNzM3ZjIzOGVm
11
+ ZjBkN2NjMzIxZGFiYTk4OTBmOGUyOWMwYzVkMjRlNzY4OTBmNzc=
12
12
  data.tar.gz: !binary |-
13
- OGFlMjE0YzRhYTIwYzczODI4YThlNDE3YjQ3MDQ2NWFlOWQ5YjAzNjBkMjY5
14
- ZDNlMWU2OGFhNDFjZGQ1MDE5YjY1MmY4NmIwNTI0YzY0MDFmMTI2YzE1Yjg4
15
- ZThlOWM2Y2QyMGFhOTg3M2FiMjRiMDk3MmYwMTQyOTBlYzEzNmE=
13
+ MzBhMGVmODUzZTVmMTg2YjAwMDlmYmY5YTY5MTNlY2FiN2E5OWNiYWFkMzMx
14
+ YTY2MTU5YzBlYWYyZWI2ZjBhOWM5Y2IzMjI4MTFkMTdlNTEwMzFkNWEzYjg3
15
+ Zjg3NTAwZTc4NWNjODhiNGMyZjc4ZjJmNGFhMmE0ZmY4ZDZhZDk=
data/.travis.yml CHANGED
@@ -1,5 +1,13 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
- before_script: git checkout master
5
- script: bundle exec rake ci -t
4
+ - 2.0.0
5
+ - jruby-19mode
6
+ - rbx-19mode
7
+ - ruby-head
8
+ - jruby-head
9
+ matrix:
10
+ allow_failures:
11
+ - rvm: ruby-head
12
+ - rvm: jruby-head
13
+ script: bundle exec rake ci:metrics -t
data/Gemfile CHANGED
@@ -2,12 +2,9 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- ruby '1.9.3'
6
-
7
5
  gemspec
8
6
 
9
- gem 'devtools', git: 'https://github.com/lgierth/devtools.git',
10
- ref: 'branch-detection2'
7
+ gem 'devtools', git: 'https://github.com/rom-rb/devtools.git'
11
8
  gem 'fuubar', git: 'https://github.com/lgierth/fuubar.git',
12
9
  ref: 'static-percentage'
13
10
  gem 'awesome_print'
data/Gemfile.devtools CHANGED
@@ -3,6 +3,8 @@
3
3
  group :development do
4
4
  gem 'rake', '~> 10.1.0'
5
5
  gem 'rspec', '~> 2.14.1'
6
+ gem 'rspec-core', git: 'https://github.com/rspec/rspec-core.git',
7
+ branch: '2-14-maintenance'
6
8
  gem 'yard', '~> 0.8.7'
7
9
  end
8
10
 
data/lib/promise.rb CHANGED
@@ -6,7 +6,7 @@ require 'promise/callback'
6
6
  require 'promise/progress'
7
7
 
8
8
  class Promise
9
- attr_reader :state, :value, :reason
9
+ attr_reader :value, :reason
10
10
 
11
11
  def initialize
12
12
  @state = :pending
@@ -26,7 +26,8 @@ class Promise
26
26
  @state == :rejected
27
27
  end
28
28
 
29
- def then(on_fulfill = nil, on_reject = nil)
29
+ def then(on_fulfill = nil, on_reject = nil, &block)
30
+ on_fulfill = block if block
30
31
  next_promise = add_callbacks(on_fulfill, on_reject)
31
32
 
32
33
  maybe_dispatch(@on_fulfill.last, @on_reject.last)
@@ -13,6 +13,7 @@ class Promise
13
13
  @block.call(value)
14
14
  rescue => error
15
15
  @next_promise.reject(error)
16
+ raise
16
17
  end
17
18
 
18
19
  def handle_result(result)
@@ -2,12 +2,17 @@
2
2
 
3
3
  class Promise
4
4
  module Progress
5
- def on_progress(block)
6
- (@on_progress ||= []) << block
5
+ def initialize
6
+ super
7
+ @on_progress = []
8
+ end
9
+
10
+ def on_progress(&block)
11
+ @on_progress << block
7
12
  end
8
13
 
9
14
  def progress(status)
10
- if pending? && @on_progress
15
+ if pending?
11
16
  @on_progress.each { |block| block.call(status) }
12
17
  end
13
18
  end
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Promise
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.0'
5
5
  end
data/spec/promise_spec.rb CHANGED
@@ -10,288 +10,292 @@ describe Promise do
10
10
  let(:reason) { double('reason') }
11
11
  let(:other_reason) { double('other_reason') }
12
12
 
13
- describe '#state' do
14
- describe '3.1.1 pending' do
15
- it 'transitions to fulfilled' do
16
- subject.fulfill(value)
17
- expect(subject.state).to eq(:fulfilled)
18
- end
13
+ describe '3.1.1 pending' do
14
+ it 'transitions to fulfilled' do
15
+ subject.fulfill(value)
16
+ expect(subject).to be_fulfilled
17
+ end
19
18
 
20
- it 'transitions to rejected' do
21
- subject.reject(reason)
22
- expect(subject.state).to eq(:rejected)
23
- end
19
+ it 'transitions to rejected' do
20
+ subject.reject(reason)
21
+ expect(subject).to be_rejected
24
22
  end
23
+ end
25
24
 
26
- describe '3.1.2 fulfilled' do
27
- it 'does not transition to other states' do
28
- subject.fulfill(value)
29
- subject.reject(reason)
30
- expect(subject.state).to eq(:fulfilled)
31
- end
25
+ describe '3.1.2 fulfilled' do
26
+ it 'does not transition to other states' do
27
+ subject.fulfill(value)
28
+ subject.reject(reason)
29
+ expect(subject).to be_fulfilled
30
+ end
32
31
 
33
- it 'has an immutable value' do
34
- subject.fulfill(value)
35
- expect(subject.value).to eq(value)
32
+ it 'has an immutable value' do
33
+ subject.fulfill(value)
34
+ expect(subject.value).to eq(value)
36
35
 
37
- subject.fulfill(other_value)
38
- expect(subject.value).to eq(value)
36
+ subject.fulfill(other_value)
37
+ expect(subject.value).to eq(value)
39
38
 
40
- expect(subject.value).to be_frozen
41
- end
39
+ expect(subject.value).to be_frozen
42
40
  end
41
+ end
43
42
 
44
- describe '3.1.3 rejected' do
45
- it 'does not transition to other states' do
46
- subject.reject(reason)
47
- subject.fulfill(value)
48
- expect(subject.state).to eq(:rejected)
49
- end
43
+ describe '3.1.3 rejected' do
44
+ it 'does not transition to other states' do
45
+ subject.reject(reason)
46
+ subject.fulfill(value)
47
+ expect(subject).to be_rejected
48
+ end
50
49
 
51
- it 'has an immutable reason' do
52
- subject.reject(reason)
53
- expect(subject.reason).to eq(reason)
50
+ it 'has an immutable reason' do
51
+ subject.reject(reason)
52
+ expect(subject.reason).to eq(reason)
54
53
 
55
- subject.reject(other_reason)
56
- expect(subject.reason).to eq(reason)
54
+ subject.reject(other_reason)
55
+ expect(subject.reason).to eq(reason)
57
56
 
58
- expect(subject.reason).to be_frozen
59
- end
57
+ expect(subject.reason).to be_frozen
60
58
  end
61
59
  end
62
60
 
63
- describe '#then' do
64
- describe '3.2.1 on_fulfill' do
65
- it 'is optional' do
66
- subject.then
67
- subject.fulfill(value)
68
- end
61
+ describe '3.2.1 on_fulfill' do
62
+ it 'is optional' do
63
+ subject.then
64
+ subject.fulfill(value)
69
65
  end
66
+ end
70
67
 
71
- describe '3.2.1 on_reject' do
72
- it 'is optional' do
73
- subject.then(proc { |_| })
74
- subject.reject(reason)
75
- end
68
+ describe '3.2.1 on_reject' do
69
+ it 'is optional' do
70
+ subject.then(proc { |_| })
71
+ subject.reject(reason)
76
72
  end
73
+ end
77
74
 
78
- describe '3.2.2 on_fulfill' do
79
- it 'is called after promise is fulfilled' do
80
- state = nil
81
- subject.then(proc { |_| state = subject.state })
82
-
83
- subject.fulfill(value)
84
- expect(state).to eq(:fulfilled)
85
- end
86
-
87
- it 'is called with fulfillment value' do
88
- result = nil
89
- subject.then(proc { |val| result = val })
75
+ describe '3.2.2 on_fulfill' do
76
+ it 'is called after promise is fulfilled' do
77
+ fulfilled = nil
78
+ subject.then(proc { |_| fulfilled = subject.fulfilled? })
90
79
 
91
- subject.fulfill(value)
92
- expect(result).to eq(value)
93
- end
80
+ subject.fulfill(value)
81
+ expect(fulfilled).to eq(true)
82
+ end
94
83
 
95
- it 'is called not more than once' do
96
- called = 0
97
- subject.then(proc { |_| called += 1 })
84
+ it 'is called with fulfillment value' do
85
+ result = nil
86
+ subject.then(proc { |val| result = val })
98
87
 
99
- subject.fulfill(value)
100
- subject.fulfill(value)
101
- expect(called).to eq(1)
102
- end
88
+ subject.fulfill(value)
89
+ expect(result).to eq(value)
90
+ end
103
91
 
104
- it 'is not called if on_reject has been called' do
105
- called = false
106
- subject.then(proc { |_| called = true })
92
+ it 'is called not more than once' do
93
+ called = 0
94
+ subject.then(proc { |_| called += 1 })
107
95
 
108
- subject.reject(reason)
109
- expect(called).to eq(false)
110
- end
96
+ subject.fulfill(value)
97
+ subject.fulfill(value)
98
+ expect(called).to eq(1)
111
99
  end
112
100
 
113
- describe '3.2.3 on_reject' do
114
- it 'is called after promise is rejected' do
115
- state = nil
116
- subject.then(nil, proc { |_| state = subject.state })
101
+ it 'is not called if on_reject has been called' do
102
+ called = false
103
+ subject.then(proc { |_| called = true })
117
104
 
118
- subject.reject(reason)
119
- expect(state).to eq(:rejected)
120
- end
105
+ subject.reject(reason)
106
+ expect(called).to eq(false)
107
+ end
121
108
 
122
- it 'is called with rejection reason' do
123
- result = nil
124
- subject.then(nil, proc { |reas| result = reas })
109
+ it 'can be passed as a block' do
110
+ result = nil
111
+ subject.then { |val| result = val }
125
112
 
126
- subject.reject(reason)
127
- expect(result).to eq(reason)
128
- end
113
+ subject.fulfill(value)
114
+ expect(result).to eq(value)
115
+ end
116
+ end
129
117
 
130
- it 'is called not more than once' do
131
- called = 0
132
- subject.then(nil, proc { |_| called += 1 })
118
+ describe '3.2.3 on_reject' do
119
+ it 'is called after promise is rejected' do
120
+ rejected = nil
121
+ subject.then(nil, proc { |_| rejected = subject.rejected? })
133
122
 
134
- subject.reject(reason)
135
- subject.reject(reason)
136
- expect(called).to eq(1)
137
- end
123
+ subject.reject(reason)
124
+ expect(rejected).to eq(true)
125
+ end
138
126
 
139
- it 'is not called if on_fulfill has been called' do
140
- called = false
141
- subject.then(nil, proc { |_| called = true })
127
+ it 'is called with rejection reason' do
128
+ result = nil
129
+ subject.then(nil, proc { |reas| result = reas })
142
130
 
143
- subject.fulfill(value)
144
- expect(called).to eq(false)
145
- end
131
+ subject.reject(reason)
132
+ expect(result).to eq(reason)
146
133
  end
147
134
 
148
- describe '3.2.4' do
149
- it 'returns before on_fulfill or on_reject is called' do
150
- pending
151
- end
135
+ it 'is called not more than once' do
136
+ called = 0
137
+ subject.then(nil, proc { |_| called += 1 })
138
+
139
+ subject.reject(reason)
140
+ subject.reject(reason)
141
+ expect(called).to eq(1)
152
142
  end
153
143
 
154
- describe '3.2.5' do
155
- it 'calls multiple on_fulfill callbacks in order of definition' do
156
- order = []
157
- on_fulfill = proc do |i, val|
158
- order << i
159
- expect(val).to eq(value)
160
- end
144
+ it 'is not called if on_fulfill has been called' do
145
+ called = false
146
+ subject.then(nil, proc { |_| called = true })
161
147
 
162
- subject.then(on_fulfill.curry[1])
163
- subject.then(on_fulfill.curry[2])
148
+ subject.fulfill(value)
149
+ expect(called).to eq(false)
150
+ end
151
+ end
164
152
 
165
- subject.fulfill(value)
166
- subject.then(on_fulfill.curry[3])
153
+ describe '3.2.4' do
154
+ it 'returns before on_fulfill or on_reject is called' do
155
+ pending
156
+ end
157
+ end
167
158
 
168
- expect(order).to eq([1, 2, 3])
159
+ describe '3.2.5' do
160
+ it 'calls multiple on_fulfill callbacks in order of definition' do
161
+ order = []
162
+ on_fulfill = proc do |i, val|
163
+ order << i
164
+ expect(val).to eq(value)
169
165
  end
170
166
 
171
- it 'calls multiple on_reject callbacks in order of definition' do
172
- order = []
173
- on_reject = proc do |i, reas|
174
- order << i
175
- expect(reas).to eq(reason)
176
- end
167
+ subject.then(on_fulfill.curry[1])
168
+ subject.then(on_fulfill.curry[2])
177
169
 
178
- subject.then(nil, on_reject.curry[1])
179
- subject.then(nil, on_reject.curry[2])
170
+ subject.fulfill(value)
171
+ subject.then(on_fulfill.curry[3])
180
172
 
181
- subject.reject(reason)
182
- subject.then(nil, on_reject.curry[3])
173
+ expect(order).to eq([1, 2, 3])
174
+ end
183
175
 
184
- expect(order).to eq([1, 2, 3])
176
+ it 'calls multiple on_reject callbacks in order of definition' do
177
+ order = []
178
+ on_reject = proc do |i, reas|
179
+ order << i
180
+ expect(reas).to eq(reason)
185
181
  end
182
+
183
+ subject.then(nil, on_reject.curry[1])
184
+ subject.then(nil, on_reject.curry[2])
185
+
186
+ subject.reject(reason)
187
+ subject.then(nil, on_reject.curry[3])
188
+
189
+ expect(order).to eq([1, 2, 3])
186
190
  end
191
+ end
187
192
 
188
- describe '3.2.6' do
189
- let(:error) { StandardError.new }
190
- let(:returned_promise) { Promise.new }
193
+ describe '3.2.6' do
194
+ let(:error) { StandardError.new }
195
+ let(:returned_promise) { Promise.new }
191
196
 
192
- it 'returns promise2' do
193
- expect(subject.then).to be_a(Promise)
194
- expect(subject.then).not_to eq(subject)
195
- end
197
+ it 'returns promise2' do
198
+ expect(subject.then).to be_a(Promise)
199
+ expect(subject.then).not_to eq(subject)
200
+ end
196
201
 
197
- it 'fulfills promise2 with value returned by on_fulfill' do
198
- promise2 = subject.then(proc { |_| other_value })
199
- subject.fulfill(value)
202
+ it 'fulfills promise2 with value returned by on_fulfill' do
203
+ promise2 = subject.then(proc { |_| other_value })
204
+ subject.fulfill(value)
200
205
 
201
- expect(promise2).to be_fulfilled
202
- expect(promise2.value).to eq(other_value)
203
- end
206
+ expect(promise2).to be_fulfilled
207
+ expect(promise2.value).to eq(other_value)
208
+ end
204
209
 
205
- it 'fulfills promise2 with value returned by on_reject' do
206
- promise2 = subject.then(nil, proc { |_| other_value })
207
- subject.reject(reason)
210
+ it 'fulfills promise2 with value returned by on_reject' do
211
+ promise2 = subject.then(nil, proc { |_| other_value })
212
+ subject.reject(reason)
208
213
 
209
- expect(promise2).to be_fulfilled
210
- expect(promise2.value).to eq(other_value)
211
- end
214
+ expect(promise2).to be_fulfilled
215
+ expect(promise2.value).to eq(other_value)
216
+ end
212
217
 
213
- it 'rejects promise2 with error raised by on_fulfill' do
214
- promise2 = subject.then(proc { |_| raise error })
215
- subject.fulfill(value)
218
+ it 'rejects promise2 with error raised by on_fulfill' do
219
+ promise2 = subject.then(proc { |_| raise error })
220
+ expect { subject.fulfill(value) }.to raise_error(error)
216
221
 
217
- expect(promise2).to be_rejected
218
- expect(promise2.reason).to eq(error)
219
- end
222
+ expect(promise2).to be_rejected
223
+ expect(promise2.reason).to eq(error)
224
+ end
220
225
 
221
- it 'rejects promise2 with error raised by on_reject' do
222
- promise2 = subject.then(nil, proc { |_| raise error })
223
- subject.reject(reason)
226
+ it 'rejects promise2 with error raised by on_reject' do
227
+ promise2 = subject.then(nil, proc { |_| raise error })
228
+ expect { subject.reject(reason) }.to raise_error(error)
224
229
 
225
- expect(promise2).to be_rejected
226
- expect(promise2.reason).to eq(error)
227
- end
230
+ expect(promise2).to be_rejected
231
+ expect(promise2.reason).to eq(error)
232
+ end
228
233
 
229
- describe 'on_fulfill returns promise' do
230
- it 'makes promise2 assume fulfilled state of returned promise' do
231
- promise2 = subject.then(proc { |_| returned_promise })
234
+ describe 'on_fulfill returns promise' do
235
+ it 'makes promise2 assume fulfilled state of returned promise' do
236
+ promise2 = subject.then(proc { |_| returned_promise })
232
237
 
233
- subject.fulfill(value)
234
- expect(promise2).to be_pending
238
+ subject.fulfill(value)
239
+ expect(promise2).to be_pending
235
240
 
236
- returned_promise.fulfill(other_value)
237
- expect(promise2).to be_fulfilled
238
- expect(promise2.value).to eq(other_value)
239
- end
241
+ returned_promise.fulfill(other_value)
242
+ expect(promise2).to be_fulfilled
243
+ expect(promise2.value).to eq(other_value)
244
+ end
240
245
 
241
- it 'makes promise2 assume rejected state of returned promise' do
242
- promise2 = subject.then(proc { |_| returned_promise })
246
+ it 'makes promise2 assume rejected state of returned promise' do
247
+ promise2 = subject.then(proc { |_| returned_promise })
243
248
 
244
- subject.fulfill(value)
245
- expect(promise2).to be_pending
249
+ subject.fulfill(value)
250
+ expect(promise2).to be_pending
246
251
 
247
- returned_promise.reject(other_reason)
248
- expect(promise2).to be_rejected
249
- expect(promise2.reason).to eq(other_reason)
250
- end
252
+ returned_promise.reject(other_reason)
253
+ expect(promise2).to be_rejected
254
+ expect(promise2.reason).to eq(other_reason)
251
255
  end
256
+ end
252
257
 
253
- describe 'on_reject returns promise' do
254
- it 'makes promise2 assume fulfilled state of returned promise' do
255
- promise2 = subject.then(nil, proc { |_| returned_promise })
258
+ describe 'on_reject returns promise' do
259
+ it 'makes promise2 assume fulfilled state of returned promise' do
260
+ promise2 = subject.then(nil, proc { |_| returned_promise })
256
261
 
257
- subject.reject(reason)
258
- expect(promise2).to be_pending
262
+ subject.reject(reason)
263
+ expect(promise2).to be_pending
259
264
 
260
- returned_promise.fulfill(other_value)
261
- expect(promise2).to be_fulfilled
262
- expect(promise2.value).to eq(other_value)
263
- end
265
+ returned_promise.fulfill(other_value)
266
+ expect(promise2).to be_fulfilled
267
+ expect(promise2.value).to eq(other_value)
268
+ end
264
269
 
265
- it 'makes promise2 assume rejected state of returned promise' do
266
- promise2 = subject.then(nil, proc { |_| returned_promise })
270
+ it 'makes promise2 assume rejected state of returned promise' do
271
+ promise2 = subject.then(nil, proc { |_| returned_promise })
267
272
 
268
- subject.reject(reason)
269
- expect(promise2).to be_pending
273
+ subject.reject(reason)
274
+ expect(promise2).to be_pending
270
275
 
271
- returned_promise.reject(other_reason)
272
- expect(promise2).to be_rejected
273
- expect(promise2.reason).to eq(other_reason)
274
- end
276
+ returned_promise.reject(other_reason)
277
+ expect(promise2).to be_rejected
278
+ expect(promise2.reason).to eq(other_reason)
275
279
  end
280
+ end
276
281
 
277
- describe 'without on_fulfill' do
278
- it 'fulfill promise2 with fulfillment value' do
279
- promise2 = subject.then
280
- subject.fulfill(value)
282
+ describe 'without on_fulfill' do
283
+ it 'fulfill promise2 with fulfillment value' do
284
+ promise2 = subject.then
285
+ subject.fulfill(value)
281
286
 
282
- expect(promise2).to be_fulfilled
283
- expect(promise2.value).to eq(value)
284
- end
287
+ expect(promise2).to be_fulfilled
288
+ expect(promise2.value).to eq(value)
285
289
  end
290
+ end
286
291
 
287
- describe 'without on_reject' do
288
- it 'rejects promise2 with rejection reason' do
289
- promise2 = subject.then
290
- subject.reject(reason)
292
+ describe 'without on_reject' do
293
+ it 'rejects promise2 with rejection reason' do
294
+ promise2 = subject.then
295
+ subject.reject(reason)
291
296
 
292
- expect(promise2).to be_rejected
293
- expect(promise2.reason).to eq(reason)
294
- end
297
+ expect(promise2).to be_rejected
298
+ expect(promise2.reason).to eq(reason)
295
299
  end
296
300
  end
297
301
  end
@@ -311,9 +315,9 @@ describe Promise do
311
315
  expect(stat).to eq(status)
312
316
  end
313
317
 
314
- subject.on_progress(block.curry[1])
315
- subject.on_progress(block.curry[2])
316
- subject.on_progress(block.curry[3])
318
+ subject.on_progress(&block.curry[1])
319
+ subject.on_progress(&block.curry[2])
320
+ subject.on_progress(&block.curry[3])
317
321
  subject.progress(status)
318
322
 
319
323
  expect(order).to eq([1, 2, 3])
@@ -321,7 +325,7 @@ describe Promise do
321
325
 
322
326
  it 'does not call back unless pending' do
323
327
  called = false
324
- subject.on_progress(proc { |_| called = true })
328
+ subject.on_progress { |_| called = true }
325
329
  subject.fulfill(value)
326
330
 
327
331
  subject.progress(status)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promise.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lars Gierth
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-25 00:00:00.000000000 Z
11
+ date: 2013-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -73,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
73
  version: '0'
74
74
  requirements: []
75
75
  rubyforge_project:
76
- rubygems_version: 2.1.1
76
+ rubygems_version: 2.1.5
77
77
  signing_key:
78
78
  specification_version: 4
79
79
  summary: Promises/A+ for Ruby