has-guarded-handlers 1.0.0 → 1.1.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.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # develop
2
2
 
3
+ # 1.1.0 - 2012-01-21
4
+ * Feature: Allow guarding on the value of method calls with arguments, by using an array as a hash key
5
+
3
6
  # 1.0.0 - 2012-01-19
4
7
  * Bump to 1.0.0 because the API is stable
5
8
  * Feature: Allow guarding with a module to test if an object has a mixin
@@ -78,7 +78,7 @@ module HasGuardedHandlers
78
78
  when Hash
79
79
  # return FALSE unless any inequality is found
80
80
  guard.find do |method, test|
81
- value = event.__send__(method)
81
+ value = event.__send__(*method)
82
82
  # last_match is the only method found unique to Regexp classes
83
83
  if test.class.respond_to?(:last_match)
84
84
  !(test =~ value.to_s)
@@ -1,3 +1,3 @@
1
1
  module HasGuardedHandlers
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -168,6 +168,15 @@ describe TestObject do
168
168
  subject.trigger_handler :event, event
169
169
  end
170
170
 
171
+ it 'can be a hash with arguments' do
172
+ response.expects(:call).once
173
+ subject.register_handler(:event, [:[], :foo] => :bar) { |_| response.call }
174
+
175
+ subject.trigger_handler :event, {:foo => :bar}
176
+ subject.trigger_handler :event, {:foo => :baz}
177
+ subject.trigger_handler :event, {}
178
+ end
179
+
171
180
  it 'can be a hash with an array' do
172
181
  response.expects(:call).twice
173
182
  subject.register_handler(:event, :type => [:result, :error]) { |_| response.call }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has-guarded-handlers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-01-19 00:00:00.000000000 Z
13
+ date: 2012-01-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
17
- requirement: &2169268020 !ruby/object:Gem::Requirement
17
+ requirement: &2152688380 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.0.0
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *2169268020
25
+ version_requirements: *2152688380
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &2169267440 !ruby/object:Gem::Requirement
28
+ requirement: &2152687820 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 2.5.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *2169267440
36
+ version_requirements: *2152687820
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: mocha
39
- requirement: &2169266940 !ruby/object:Gem::Requirement
39
+ requirement: &2152687260 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2169266940
47
+ version_requirements: *2152687260
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: ci_reporter
50
- requirement: &2169266380 !ruby/object:Gem::Requirement
50
+ requirement: &2152683040 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 1.6.3
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2169266380
58
+ version_requirements: *2152683040
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: yard
61
- requirement: &2169265860 !ruby/object:Gem::Requirement
61
+ requirement: &2152682360 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 0.7.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2169265860
69
+ version_requirements: *2152682360
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rake
72
- requirement: &2169265320 !ruby/object:Gem::Requirement
72
+ requirement: &2152681860 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *2169265320
80
+ version_requirements: *2152681860
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: guard-rspec
83
- requirement: &2169264900 !ruby/object:Gem::Requirement
83
+ requirement: &2152681480 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,7 +88,7 @@ dependencies:
88
88
  version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *2169264900
91
+ version_requirements: *2152681480
92
92
  description: Allow an object's API to provide flexible handler registration, storage
93
93
  and matching to arbitrary events.
94
94
  email:
@@ -124,7 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
124
  version: '0'
125
125
  segments:
126
126
  - 0
127
- hash: -748980547343976584
127
+ hash: 2115013965424304008
128
128
  required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  version: '0'
134
134
  segments:
135
135
  - 0
136
- hash: -748980547343976584
136
+ hash: 2115013965424304008
137
137
  requirements: []
138
138
  rubyforge_project: has-guarded-handlers
139
139
  rubygems_version: 1.8.10