lspace 0.12 → 0.13
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 +7 -0
- data/lib/lspace.rb +24 -0
- data/lib/lspace/class_methods.rb +7 -0
- data/lspace.gemspec +1 -1
- data/spec/spec_helper.rb +1 -8
- metadata +21 -37
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b82968b154619d2f538430c695f2ecd2152ac13a
|
4
|
+
data.tar.gz: c1b4bf625372e7368cc9f74477cb0bb1ed5e7f85
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a68fc1eff39850d5f162124a23d7faf321f2bba8ccceb8a931ce55bf1f6ce8f71115f3b318b5dd487ff984a02da84cc744f3682d49fba4325c21b7c4623917b4
|
7
|
+
data.tar.gz: 1a694c690c4ea18f896ac72753f7aeb817fd65aee1526b3976a96bd6c06c742d27f2d88cb0fd9b9cd07e83b6c1e9256054b1f1a88a013bfee60dc20939d5e5d2
|
data/lib/lspace.rb
CHANGED
@@ -121,6 +121,30 @@ class LSpace
|
|
121
121
|
self
|
122
122
|
end
|
123
123
|
|
124
|
+
# Add an error handler to this LSpace.
|
125
|
+
#
|
126
|
+
# @example
|
127
|
+
# lspace = LSpace.new
|
128
|
+
# lspace.rescue do |e|
|
129
|
+
# puts "Job #{LSpace[:job_id]} failed with: #{e}
|
130
|
+
# end
|
131
|
+
#
|
132
|
+
# LSpace.enter(lspace) do
|
133
|
+
# Thread.new{ reaise "foo" }.join
|
134
|
+
# end
|
135
|
+
#
|
136
|
+
def rescue(*exceptions, &handler)
|
137
|
+
exceptions << RuntimeError unless exceptions.any?
|
138
|
+
|
139
|
+
around_filter do |&block|
|
140
|
+
begin
|
141
|
+
block.call
|
142
|
+
rescue *exceptions => e
|
143
|
+
handler.call e
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
124
148
|
# Enter this LSpace for the duration of the block
|
125
149
|
#
|
126
150
|
# @see LSpace.enter
|
data/lib/lspace/class_methods.rb
CHANGED
@@ -135,6 +135,13 @@ class LSpace
|
|
135
135
|
current.around_filter(&filter)
|
136
136
|
end
|
137
137
|
|
138
|
+
# Add an exception handler
|
139
|
+
#
|
140
|
+
# @see LSpace#rescue
|
141
|
+
def self.rescue(*exceptions, &handler)
|
142
|
+
current.rescue(*exceptions, &handler)
|
143
|
+
end
|
144
|
+
|
138
145
|
# Get the current LSpace
|
139
146
|
#
|
140
147
|
# @return [LSpace]
|
data/lspace.gemspec
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,12 +1,5 @@
|
|
1
1
|
require_relative '../lib/lspace'
|
2
2
|
require_relative '../lib/lspace/eventmachine'
|
3
3
|
require_relative '../lib/lspace/celluloid'
|
4
|
+
require_relative '../lib/lspace/rspec'
|
4
5
|
require 'pry-rescue/rspec'
|
5
|
-
|
6
|
-
RSpec.configure do |c|
|
7
|
-
c.around(:each) do |example|
|
8
|
-
LSpace.clean do
|
9
|
-
example.run
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
metadata
CHANGED
@@ -1,126 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lspace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
5
|
-
prerelease:
|
4
|
+
version: '0.13'
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Conrad Irwin
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-11-26 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rspec
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: pry-rescue
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: pry-stack_explorer
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: eventmachine
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: celluloid
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: yard
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: redcarpet
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - '>='
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - '>='
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
111
|
description: Provides the convenience of global variables, without the safety concerns.
|
@@ -151,27 +136,26 @@ files:
|
|
151
136
|
- spec/spec_helper.rb
|
152
137
|
homepage: http://github.com/ConradIrwin/lspace
|
153
138
|
licenses: []
|
139
|
+
metadata: {}
|
154
140
|
post_install_message:
|
155
141
|
rdoc_options: []
|
156
142
|
require_paths:
|
157
143
|
- lib
|
158
144
|
required_ruby_version: !ruby/object:Gem::Requirement
|
159
|
-
none: false
|
160
145
|
requirements:
|
161
|
-
- -
|
146
|
+
- - '>='
|
162
147
|
- !ruby/object:Gem::Version
|
163
148
|
version: '0'
|
164
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
150
|
requirements:
|
167
|
-
- -
|
151
|
+
- - '>='
|
168
152
|
- !ruby/object:Gem::Version
|
169
153
|
version: '0'
|
170
154
|
requirements: []
|
171
155
|
rubyforge_project:
|
172
|
-
rubygems_version:
|
156
|
+
rubygems_version: 2.0.3
|
173
157
|
signing_key:
|
174
|
-
specification_version:
|
158
|
+
specification_version: 4
|
175
159
|
summary: Provides local global storage
|
176
160
|
test_files: []
|
177
161
|
has_rdoc:
|