promise.rb 0.7.0.rc2 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 487aaf8c555487ea2f7b3bbdb77a5a63b0be1f38
4
- data.tar.gz: 1a1ede2482f03dd9c55c0050b913bc718b077bea
3
+ metadata.gz: 167485e5a9ba45d151d029e5b067079dcb2dabd1
4
+ data.tar.gz: 2f4eca3f6a4b22f09708e92dac211d0851c646fd
5
5
  SHA512:
6
- metadata.gz: 31b9d4895eca8ceab77fcce63730ad620b2d7f294b2bd53eb47c6da412557c714ce58bb99cc1a87995dac172e554e61ea4b0ae94ef6004d63746a3acc2ed8399
7
- data.tar.gz: 6bf132f844d4f83b7369ffd79711aa9b772c2d285507908510993099a4c1a54a3aab66eb2de7d2d4271509c62bbea24c71229086deff567adf73f5867d3b4f54
6
+ metadata.gz: 3850720bbef2c6c812b4431d79ee4a3593401ff9c724172c2b3ac7ba581447c55b4ad0539c8255dfd34e75de0acf54b1836067b5e9ee059a32b0abe4c7e26f61
7
+ data.tar.gz: e57d239371b8905f202ddb9956349cc60186e5154c335ba5dfb6eb27811c961605f8ab54f316dde42e963e6d058ddfe51f14f1bd1fda68eb842287a2111f1a8b
@@ -1,5 +1,11 @@
1
1
  # promise.rb changelog
2
2
 
3
+ ## 0.7.0 (February 24, 2016)
4
+
5
+ ### Features
6
+
7
+ * Add a Promise#rescue convenience for specifying on_reject. (pull #16)
8
+
3
9
  ## 0.7.0.rc2 (February 17, 2016)
4
10
 
5
11
  ### Bug Fixes
@@ -58,9 +58,7 @@ TooManyInstanceVariables:
58
58
  exclude: []
59
59
  max_instance_variables: 6
60
60
  TooManyMethods:
61
- enabled: true
62
- exclude: []
63
- max_methods: 13
61
+ enabled: false
64
62
  TooManyStatements:
65
63
  enabled: true
66
64
  exclude:
@@ -96,3 +96,6 @@ LineEndConcatenation:
96
96
 
97
97
  GuardClause:
98
98
  Enabled: false
99
+
100
+ Alias:
101
+ EnforcedStyle: prefer_alias_method
@@ -47,6 +47,11 @@ class Promise
47
47
  next_promise
48
48
  end
49
49
 
50
+ def rescue(&block)
51
+ self.then(nil, block)
52
+ end
53
+ alias_method :catch, :rescue
54
+
50
55
  def sync
51
56
  wait if pending?
52
57
  raise reason if rejected?
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class Promise
4
- VERSION = '0.7.0.rc2'
4
+ VERSION = '0.7.0'.freeze
5
5
  end
@@ -347,6 +347,28 @@ describe Promise do
347
347
  end
348
348
 
349
349
  describe 'extras' do
350
+ describe '#rescue' do
351
+ it 'provides an on_reject callback' do
352
+ result = nil
353
+ subject.rescue { |reas| result = reas }
354
+
355
+ subject.reject(reason)
356
+ expect(result).to eq(reason)
357
+ expect(subject.reason).to eq(reason)
358
+ end
359
+ end
360
+
361
+ describe '#catch' do
362
+ it 'provides an on_reject callback' do
363
+ result = nil
364
+ subject.catch { |reas| result = reas }
365
+
366
+ subject.reject(reason)
367
+ expect(result).to eq(reason)
368
+ expect(subject.reason).to eq(reason)
369
+ end
370
+ end
371
+
350
372
  describe '#progress' do
351
373
  let(:status) { double('status') }
352
374
 
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.7.0.rc2
4
+ version: 0.7.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: 2016-02-17 00:00:00.000000000 Z
11
+ date: 2016-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -70,9 +70,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
70
70
  version: '0'
71
71
  required_rubygems_version: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 1.3.1
75
+ version: '0'
76
76
  requirements: []
77
77
  rubyforge_project:
78
78
  rubygems_version: 2.2.5