em_promise.rb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/em_promise.rb +10 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 024b715770b941deb870fd4bd879b50ad5c01b9af437adf89a72856d094a9ceb
4
- data.tar.gz: 0b5441fd2e407646ea725c3fafceae78b0fe600adac1b89dd1e69b411fec9ff7
3
+ metadata.gz: 3b9252ef4d1a0e87a58dab94d940c0e007daa57bb29aff67607a53ddd9e49eff
4
+ data.tar.gz: c9deea390a562b41346c6b5c6c067d30bb36e8bd71f90cadf7b78928a56be383
5
5
  SHA512:
6
- metadata.gz: c07bf8f1ae48f8c66b5783bfab7174334f71e51fd1c56b7024ba80d66fc5e1776c26edd93a65d467357be883830841bd48e7aeb93e10d731909d21435eb62ea0
7
- data.tar.gz: e246ed21d767cf87410944b6513fa7067cb8da7aca45712c5e5589e82363153f2e6ce4732b2c171153c195c928a87ee6a8b99d9cf2bab7fbfa2b2d2cc1e13967
6
+ metadata.gz: 1cdccfffad92001ced9be4d66298741a1fdf565ce0e2324f9acf53246901f527a9d36d3b26713dcd6128f07df05d7d4a66f762bff4831948b40dba61b3a571b4
7
+ data.tar.gz: 0ed5df6e816ae1f221108a5990835e446ac6bc288557131e66baafccf7132ba86881eaa190139e953db5f83e210ceb4d716542b72da4c06ffff89b24a7118647
data/lib/em_promise.rb CHANGED
@@ -34,6 +34,16 @@ class EMPromise < Promise
34
34
  new.tap { |promise| promise.reject(e) }
35
35
  end
36
36
 
37
+ def catch_only(*klasses, filter: ->(*) { false })
38
+ catch do |e|
39
+ if klasses.find { |klass| e.is_a?(klass) } || filter[e]
40
+ yield e
41
+ else
42
+ EMPromise.reject(e)
43
+ end
44
+ end
45
+ end
46
+
37
47
  def self.all(enumerable)
38
48
  super(enumerable.map { |input|
39
49
  if input.respond_to?(:promise)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em_promise.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Paul Weber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-03 00:00:00.000000000 Z
11
+ date: 2021-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: promise.rb