eventador 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 68588a681356589d5e647e535ced1dae50b9e577
4
- data.tar.gz: 15f21a68add35277f591658193075a6be86c71e8
2
+ SHA256:
3
+ metadata.gz: f4abf2c202c7b728e557b03e771de96cc480f1c5ef3f8829039866e15dd39963
4
+ data.tar.gz: daa115702cc67a217cc7bb7a2413066f0d451f56ee1d352294669dc1c35d69da
5
5
  SHA512:
6
- metadata.gz: 962e7f55ec30bf361df0a9883da183a1ab78088b7ad2bddf2053c7a567c4ada1060fe9d6e4237e8ccb0b9fc417b550fe2ababe58a9d4831035fd3364560518a9
7
- data.tar.gz: be624d69695f2b5dac592c6cde25cdf72a83e1e2977e05ecd2b2ede1487cb7bb8c363b24d8f70f4281e15f2fd70fc4dcffaf4d7f0a030ffe831a56b63d75c9d0
6
+ metadata.gz: 193f2d0dafa0672749febde2faa5e7d623dddf3b0aba76d6c57cc1212751e77251ca3ac1e4d5749c854ebb5b7d6eae0154443a9bcd1f37ec7e304cd4763b45ae
7
+ data.tar.gz: bd2dfae880bd1f0e1eb85700a7d9dea8687922444905e782b46c267a59179b3f68b379a6642a7b2837a3d2d7aa4c7f88babb25dcae286bccdc782714778d8472
data/README.md CHANGED
@@ -36,9 +36,16 @@ Or install it yourself as:
36
36
  end
37
37
  end
38
38
 
39
+ ## Developing
40
+
41
+ Running tests
42
+ ```
43
+ $ rake test
44
+ ```
45
+
39
46
  ## Contributing
40
47
 
41
- 1. Fork it ( https://github.com/[my-github-username]/eventador/fork )
48
+ 1. Fork it ( https://github.com/yardstick/eventador/fork )
42
49
  2. Create your feature branch (`git checkout -b my-new-feature`)
43
50
  3. Commit your changes (`git commit -am 'Add some feature'`)
44
51
  4. Push to the branch (`git push origin my-new-feature`)
data/eventador.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.6'
21
+ spec.add_development_dependency 'bundler', ">= 2.2.10"
22
22
  spec.add_development_dependency 'rake'
23
23
  spec.add_development_dependency 'minitest', '~> 5.0'
24
24
  end
@@ -1,3 +1,3 @@
1
1
  module Eventador
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
data/lib/eventador.rb CHANGED
@@ -5,21 +5,25 @@ module Eventador
5
5
  def method_missing(method, *args, &block)
6
6
  false
7
7
  end
8
+
9
+ def result
10
+ @result
11
+ end
8
12
  end
9
13
 
10
14
  def callback(callable, *rest)
11
- ret = nil
12
15
  @callbacks ||= ::Hash.new do |h, method_name|
13
16
  h[method_name] = Class.new(Callback) do
14
17
  define_method(method_name) do |&block|
15
- ret = block.nil? ? true : block.call(*args)
18
+ @result = block.nil? ? true : block.call(*args)
16
19
  end
17
20
  define_method("#{method_name}?") { true }
18
21
  define_method(:to_s) { "Callback(#{method_name})" }
19
22
  end
20
23
  end
21
- call(@callbacks[callable].new(rest))
22
- ret
24
+ ret = @callbacks[callable].new(rest)
25
+ call(ret)
26
+ ret.result
23
27
  end
24
28
  end
25
29
 
data/spec/proc_spec.rb CHANGED
@@ -29,7 +29,7 @@ describe Proc do
29
29
  cba(a) do |on|
30
30
  on.test do |arg|
31
31
  @flag.notify
32
- arg.must_equal(a)
32
+ _(arg).must_equal(a)
33
33
  end
34
34
  end
35
35
  end
@@ -56,6 +56,24 @@ describe Proc do
56
56
  a + 1
57
57
  end
58
58
  end
59
- ret.must_equal(2)
59
+ _(ret).must_equal(2)
60
+ end
61
+
62
+ def cbm(a, &block)
63
+ block.callback(:add, a)
64
+
65
+ block.callback(:block1, a) +
66
+ block.callback(:block2, a) +
67
+ block.callback(:block3, a)
68
+ end
69
+
70
+ it 'should allow many callbacks in sequence' do
71
+ ret = cbm(1) do |on|
72
+ on.add { @flag.notify }
73
+ on.block1 { |a| a * 1 }
74
+ on.block2 { |a| a * 2 }
75
+ on.block3 { |a| a * 3 }
76
+ end
77
+ _(ret).must_equal(6)
60
78
  end
61
79
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventador
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Huckstep
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-23 00:00:00.000000000 Z
11
+ date: 2023-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
19
+ version: 2.2.10
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.6'
26
+ version: 2.2.10
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ homepage: ''
74
74
  licenses:
75
75
  - MIT
76
76
  metadata: {}
77
- post_install_message:
77
+ post_install_message:
78
78
  rdoc_options: []
79
79
  require_paths:
80
80
  - lib
@@ -89,9 +89,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  requirements: []
92
- rubyforge_project:
93
- rubygems_version: 2.2.2
94
- signing_key:
92
+ rubygems_version: 3.4.6
93
+ signing_key:
95
94
  specification_version: 4
96
95
  summary: Simple callbacks/lightweight events on procs.
97
96
  test_files: