try 0.1.0 → 0.3.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/try.rb +19 -0
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3c5876e6f7db8345c101789e5634e1cb2d149c98
4
- data.tar.gz: fd06368b745e5d22e1c444f34e507b33ee45077e
3
+ metadata.gz: 709e480aa70f8f56410a63ec46009b96803e116b
4
+ data.tar.gz: b16217ce61a1bdc4eb589e632297ac4a29d414ba
5
5
  SHA512:
6
- metadata.gz: c45036d9a15d19225dd4052d09c2cc9c3fec978a3d73f6b5692ff618c18235f27494621cb8f677c0b7a4ac6da08f4749be704aa4fd7f98db6bdf151de56c5fd3
7
- data.tar.gz: d08624af2df6a00a35d75b62145bb4b680133997f208883e6871f92e78a543fed2b5c449c6ab4a2f090239f6347d8b76fdfedd5e1f6863d7200e7de4698cb3a0
6
+ metadata.gz: c4225e05e4cbf52002cfc805cf6ad792366a748d0ca627f72b6cd49a41324ab371146d553f783d4cc80a23bc45de60487f7cc2e3336b1aee4861e3dc62def597
7
+ data.tar.gz: c3d7923acfc692c72dde29c0e250d1b9f5eb838530c2a23783ebc10e9286a66c5e42d72614f30d3b95a0e6c813853b145b04eb13cf81b3e233290b843c37da43
data/lib/try.rb CHANGED
@@ -38,6 +38,25 @@ module Try
38
38
  raise
39
39
  end
40
40
 
41
+ #
42
+ # Evaluates the given block and returns its value.
43
+ # If an exception is raised, nil is returned instead.
44
+ #
45
+ # If ((%errs%)) are given, only those exceptions will be trapped,
46
+ # and any other exceptions will be raised normally.
47
+ #
48
+ # @param errs an optional list of exception types to trap.
49
+ #
50
+ def test *errs, &bk
51
+ yield
52
+ rescue Exception => ex
53
+ return nil if errs.empty?
54
+ errs.each do |klass|
55
+ return nil if klass.instance_of?(Module) ? ex.kind_of?(klass) : ex.is_a?(klass)
56
+ end
57
+ raise
58
+ end
59
+
41
60
  extend self
42
61
  end
43
62
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: try
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Kerwin