eventador 1.0.2 → 1.0.3

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
  SHA256:
3
- metadata.gz: 5c9b1c8fefcd9a9efb8642a42ee27f19d4ddc4b52b0bd888ded221670232d765
4
- data.tar.gz: 12d517deef57b64e64d28a2e09f52b0afb4be80d753908d2e74db5f25ae58e73
3
+ metadata.gz: 67d4490fa9fb11e8db494429135065559db09ab21b233c4bb6f53e2f40b53f52
4
+ data.tar.gz: 537c230fef149e90e863b5a0718556bca2d129217da530ff45c4781252ecf1f9
5
5
  SHA512:
6
- metadata.gz: dd95e9e8587c762f99d0cae4b5f51e4625c8bf59924b20c39d5cd868e0be642841b5f8f63e39365c1ab52ed70c6635927eb0eb6e5014c0da52af9d02d3a22568
7
- data.tar.gz: 7f586b93896436d7ea9a68f59d71adcaf77c7552405edee0d346069e12087cbfd9e86ed7d932da3978e7385b8868b73f8b580884a68d0a273f45eeeb5973b2cd
6
+ metadata.gz: 9d4f49d88628da1e1c5bab8ee9b14a1a0d2422393a41c0943f5d3148ec34e91dbf14f315b5618796f336e7ffc50dcd2111b82af822d362dfd2d7178c116c282d
7
+ data.tar.gz: 37f985eb038d2db401fa823c0049a2490e33e20077ec0fa092ae43eb47433b1bc9d092d182adbfe15a3ebf4d87d7af0e4abbe9eb0caefb81af28062943ce856a
@@ -1,3 +1,3 @@
1
1
  module Eventador
2
- VERSION = '1.0.2'
2
+ VERSION = '1.0.3'
3
3
  end
data/lib/eventador.rb CHANGED
@@ -36,7 +36,7 @@ module Eventador
36
36
  ret.result
37
37
  end
38
38
 
39
- def capture(callable)
39
+ def capture(callable, &default)
40
40
  @captures ||= ::Hash.new do |h, method_name|
41
41
  h[method_name] = Class.new(Capture) do
42
42
  define_method(method_name) do |&block|
@@ -48,7 +48,7 @@ module Eventador
48
48
  end
49
49
  ret = @captures[callable].new
50
50
  call(ret)
51
- ret.block
51
+ ret.block || default
52
52
  end
53
53
  end
54
54
 
data/spec/proc_spec.rb CHANGED
@@ -96,4 +96,20 @@ describe Proc do
96
96
  end
97
97
  _(ret).must_equal(3)
98
98
  end
99
+
100
+ def bdb(&block)
101
+ add = block.capture(:add) do
102
+ "default #{a + b}"
103
+ end
104
+ s = AB.new(1, 2)
105
+ s.define_singleton_method(:add, &add)
106
+ s.add
107
+ end
108
+
109
+ it 'should allow a default when capturing' do
110
+ ret = bdb do |on|
111
+ on.not_add { a + b }
112
+ end
113
+ _(ret).must_equal('default 3')
114
+ end
99
115
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventador
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Huckstep