lspace 0.8 → 0.9

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.
@@ -141,12 +141,20 @@ module EventMachine
141
141
  define_method(method) { |*a, &b| LSpace.enter(@lspace) { super(*a, &b) } }
142
142
  end
143
143
 
144
- # EM uses the arity of unbind to decide which arguments to pass it.
145
- # AFAIK the no-argument version is considerably more popular, so we use that here.
144
+ # EM uses the arity of unbind to decide which arguments to pass
145
+ # it, so we'll do that too
146
146
  [:unbind].each do |method|
147
- define_method(method) do |*a, &b|
147
+ define_method(method) do |reason|
148
148
  LSpace.enter(@lspace) do
149
- super()
149
+ orig_method = self.class.ancestors.
150
+ map {|kls| kls.instance_method(:unbind) rescue nil}.
151
+ compact.
152
+ first
153
+ if orig_method.arity.abs == 1
154
+ super(reason)
155
+ else
156
+ super()
157
+ end
150
158
  end
151
159
  end
152
160
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "lspace"
3
- s.version = "0.8"
3
+ s.version = "0.9"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.author = "Conrad Irwin"
6
6
  s.email = "conrad.irwin@gmail.com"
@@ -166,5 +166,21 @@ describe LSpace do
166
166
  end
167
167
  end
168
168
  end
169
+
170
+ it "should preserve an argument to unbind if one is given" do
171
+ seen = nil
172
+ client = Module.new do
173
+ define_method(:unbind) do |reason|
174
+ seen = reason
175
+ EM::stop
176
+ end
177
+ end
178
+
179
+ EM::run do
180
+ EM::connect 'localhost', 9345, client
181
+ end
182
+
183
+ seen.should == Errno::ECONNREFUSED
184
+ end
169
185
  end
170
186
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lspace
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.8'
4
+ version: '0.9'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,120 +9,120 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-17 00:00:00.000000000 Z
12
+ date: 2013-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- type: :development
15
+ name: rspec
16
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
17
18
  requirements:
18
19
  - - ! '>='
19
20
  - !ruby/object:Gem::Version
20
21
  version: '0'
21
- none: false
22
+ type: :development
23
+ prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
- none: false
28
- prerelease: false
29
- name: rspec
30
30
  - !ruby/object:Gem::Dependency
31
- type: :development
31
+ name: pry-rescue
32
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
33
34
  requirements:
34
35
  - - ! '>='
35
36
  - !ruby/object:Gem::Version
36
37
  version: '0'
37
- none: false
38
+ type: :development
39
+ prerelease: false
38
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
39
42
  requirements:
40
43
  - - ! '>='
41
44
  - !ruby/object:Gem::Version
42
45
  version: '0'
43
- none: false
44
- prerelease: false
45
- name: pry-rescue
46
46
  - !ruby/object:Gem::Dependency
47
- type: :development
47
+ name: pry-stack_explorer
48
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
49
50
  requirements:
50
51
  - - ! '>='
51
52
  - !ruby/object:Gem::Version
52
53
  version: '0'
53
- none: false
54
+ type: :development
55
+ prerelease: false
54
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
55
58
  requirements:
56
59
  - - ! '>='
57
60
  - !ruby/object:Gem::Version
58
61
  version: '0'
59
- none: false
60
- prerelease: false
61
- name: pry-stack_explorer
62
62
  - !ruby/object:Gem::Dependency
63
- type: :development
63
+ name: eventmachine
64
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
65
66
  requirements:
66
67
  - - ! '>='
67
68
  - !ruby/object:Gem::Version
68
69
  version: '0'
69
- none: false
70
+ type: :development
71
+ prerelease: false
70
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
71
74
  requirements:
72
75
  - - ! '>='
73
76
  - !ruby/object:Gem::Version
74
77
  version: '0'
75
- none: false
76
- prerelease: false
77
- name: eventmachine
78
78
  - !ruby/object:Gem::Dependency
79
- type: :development
79
+ name: celluloid
80
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
81
82
  requirements:
82
83
  - - ! '>='
83
84
  - !ruby/object:Gem::Version
84
85
  version: '0'
85
- none: false
86
+ type: :development
87
+ prerelease: false
86
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
87
90
  requirements:
88
91
  - - ! '>='
89
92
  - !ruby/object:Gem::Version
90
93
  version: '0'
91
- none: false
92
- prerelease: false
93
- name: celluloid
94
94
  - !ruby/object:Gem::Dependency
95
- type: :development
95
+ name: yard
96
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
97
98
  requirements:
98
99
  - - ! '>='
99
100
  - !ruby/object:Gem::Version
100
101
  version: '0'
101
- none: false
102
+ type: :development
103
+ prerelease: false
102
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
103
106
  requirements:
104
107
  - - ! '>='
105
108
  - !ruby/object:Gem::Version
106
109
  version: '0'
107
- none: false
108
- prerelease: false
109
- name: yard
110
110
  - !ruby/object:Gem::Dependency
111
- type: :development
111
+ name: redcarpet
112
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
113
114
  requirements:
114
115
  - - ! '>='
115
116
  - !ruby/object:Gem::Version
116
117
  version: '0'
117
- none: false
118
+ type: :development
119
+ prerelease: false
118
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
119
122
  requirements:
120
123
  - - ! '>='
121
124
  - !ruby/object:Gem::Version
122
125
  version: '0'
123
- none: false
124
- prerelease: false
125
- name: redcarpet
126
126
  description: Provides the convenience of global variables, without the safety concerns.
127
127
  email: conrad.irwin@gmail.com
128
128
  executables: []
@@ -155,20 +155,20 @@ rdoc_options: []
155
155
  require_paths:
156
156
  - lib
157
157
  required_ruby_version: !ruby/object:Gem::Requirement
158
+ none: false
158
159
  requirements:
159
160
  - - ! '>='
160
161
  - !ruby/object:Gem::Version
161
162
  version: '0'
162
- none: false
163
163
  required_rubygems_version: !ruby/object:Gem::Requirement
164
+ none: false
164
165
  requirements:
165
166
  - - ! '>='
166
167
  - !ruby/object:Gem::Version
167
168
  version: '0'
168
- none: false
169
169
  requirements: []
170
170
  rubyforge_project:
171
- rubygems_version: 1.8.25
171
+ rubygems_version: 1.8.23
172
172
  signing_key:
173
173
  specification_version: 3
174
174
  summary: Provides local global storage