sinatra-synchrony 0.1.1 → 0.2.0.beta.1
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/Gemfile.lock +28 -24
- data/README.markdown +1 -1
- data/lib/sinatra/synchrony.rb +15 -2
- metadata +59 -114
data/Gemfile.lock
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
sinatra-synchrony (0.
|
5
|
-
async-rack
|
6
|
-
em-http-request (= 0.
|
7
|
-
em-resolv-replace
|
8
|
-
em-synchrony (= 0.
|
9
|
-
|
4
|
+
sinatra-synchrony (0.2.0.beta.1)
|
5
|
+
async-rack (>= 0.5.1)
|
6
|
+
em-http-request (= 1.0.0.beta.4)
|
7
|
+
em-resolv-replace (>= 1.1.1)
|
8
|
+
em-synchrony (= 0.3.0.beta.1)
|
9
|
+
eventmachine (= 1.0.0.beta.3)
|
10
|
+
rack-fiber_pool (= 0.9.2)
|
10
11
|
sinatra (>= 1.0)
|
11
12
|
|
12
13
|
GEM
|
@@ -17,29 +18,32 @@ GEM
|
|
17
18
|
sexp_processor (>= 3.0.0)
|
18
19
|
RubyInline (3.9.0)
|
19
20
|
ZenTest (~> 4.3)
|
20
|
-
ZenTest (4.
|
21
|
+
ZenTest (4.5.0)
|
21
22
|
addressable (2.2.6)
|
22
23
|
async-rack (0.5.1)
|
23
24
|
rack (~> 1.1)
|
24
25
|
diff-lcs (1.1.2)
|
25
|
-
em-http-request (0.
|
26
|
-
addressable (>= 2.
|
27
|
-
|
28
|
-
eventmachine (>= 0.
|
26
|
+
em-http-request (1.0.0.beta.4)
|
27
|
+
addressable (>= 2.2.3)
|
28
|
+
em-socksify
|
29
|
+
eventmachine (>= 1.0.0.beta.3)
|
30
|
+
http_parser.rb (>= 0.5.1)
|
29
31
|
em-resolv-replace (1.1.1)
|
30
|
-
em-
|
31
|
-
eventmachine
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
32
|
+
em-socksify (0.1.0)
|
33
|
+
eventmachine
|
34
|
+
em-synchrony (0.3.0.beta.1)
|
35
|
+
eventmachine (>= 1.0.0.beta.1)
|
36
|
+
eventmachine (1.0.0.beta.3)
|
37
|
+
file-tail (1.0.5)
|
38
|
+
spruz (>= 0.1.0)
|
39
|
+
http_parser.rb (0.5.1)
|
40
|
+
minitest (2.1.0)
|
41
|
+
predicated (0.2.2)
|
42
|
+
rack (1.2.2)
|
43
|
+
rack-fiber_pool (0.9.2)
|
40
44
|
rack-test (0.5.7)
|
41
45
|
rack (>= 1.0)
|
42
|
-
rake (0.
|
46
|
+
rake (0.8.7)
|
43
47
|
ruby2ruby (1.2.5)
|
44
48
|
ruby_parser (~> 2.0)
|
45
49
|
sexp_processor (~> 3.0)
|
@@ -54,8 +58,8 @@ GEM
|
|
54
58
|
ruby2ruby (>= 1.2.5)
|
55
59
|
ruby_parser (>= 2.0.5)
|
56
60
|
sexp_processor (>= 3.0.5)
|
57
|
-
spruz (0.2.
|
58
|
-
tilt (1.3.
|
61
|
+
spruz (0.2.6)
|
62
|
+
tilt (1.3.3)
|
59
63
|
wrong (0.5.0)
|
60
64
|
ParseTree (~> 3.0)
|
61
65
|
diff-lcs (~> 1.1.2)
|
data/README.markdown
CHANGED
data/lib/sinatra/synchrony.rb
CHANGED
@@ -9,10 +9,23 @@ require 'async-rack'
|
|
9
9
|
module Sinatra
|
10
10
|
module Synchrony
|
11
11
|
def setup_sessions(builder)
|
12
|
-
builder.use Rack::FiberPool unless test?
|
12
|
+
builder.use Rack::FiberPool, {:rescue_exception => handle_exception } unless test?
|
13
13
|
super
|
14
14
|
end
|
15
15
|
|
16
|
+
def handle_exception
|
17
|
+
Proc.new do |env, e|
|
18
|
+
if settings.show_exceptions?
|
19
|
+
request = Sinatra::Request.new(env)
|
20
|
+
printer = Sinatra::ShowExceptions.new(proc{ raise e })
|
21
|
+
s, h, b = printer.call(env)
|
22
|
+
[s, h, b]
|
23
|
+
else
|
24
|
+
[500, {}, ""]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
16
29
|
class << self
|
17
30
|
def patch_tests!
|
18
31
|
require 'sinatra/synchrony/mock_session'
|
@@ -24,4 +37,4 @@ module Sinatra
|
|
24
37
|
end
|
25
38
|
end
|
26
39
|
register Synchrony
|
27
|
-
end
|
40
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-synchrony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 1
|
10
|
-
version: 0.1.1
|
4
|
+
version: 0.2.0.beta.1
|
11
5
|
platform: ruby
|
12
6
|
authors:
|
13
7
|
- Kyle Drake
|
@@ -15,160 +9,119 @@ autorequire:
|
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
11
|
|
18
|
-
date: 2011-08-
|
12
|
+
date: 2011-08-25 00:00:00 -07:00
|
19
13
|
default_executable:
|
20
14
|
dependencies:
|
21
15
|
- !ruby/object:Gem::Dependency
|
22
16
|
name: sinatra
|
23
|
-
|
24
|
-
|
25
|
-
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
20
|
requirements:
|
27
21
|
- - ">="
|
28
22
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 15
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 0
|
33
23
|
version: "1.0"
|
34
|
-
|
35
|
-
version_requirements: *id001
|
24
|
+
version:
|
36
25
|
- !ruby/object:Gem::Dependency
|
37
26
|
name: rack-fiber_pool
|
38
|
-
|
39
|
-
|
40
|
-
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
30
|
requirements:
|
42
31
|
- - "="
|
43
32
|
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
- 1
|
49
|
-
version: 0.9.1
|
33
|
+
version: 0.9.2
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: eventmachine
|
50
37
|
type: :runtime
|
51
|
-
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.0.0.beta.3
|
44
|
+
version:
|
52
45
|
- !ruby/object:Gem::Dependency
|
53
46
|
name: em-http-request
|
54
|
-
|
55
|
-
|
56
|
-
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
50
|
requirements:
|
58
51
|
- - "="
|
59
52
|
- !ruby/object:Gem::Version
|
60
|
-
|
61
|
-
|
62
|
-
- 0
|
63
|
-
- 3
|
64
|
-
- 0
|
65
|
-
version: 0.3.0
|
66
|
-
type: :runtime
|
67
|
-
version_requirements: *id003
|
53
|
+
version: 1.0.0.beta.4
|
54
|
+
version:
|
68
55
|
- !ruby/object:Gem::Dependency
|
69
56
|
name: em-synchrony
|
70
|
-
|
71
|
-
|
72
|
-
|
57
|
+
type: :runtime
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
60
|
requirements:
|
74
61
|
- - "="
|
75
62
|
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
|
78
|
-
- 0
|
79
|
-
- 2
|
80
|
-
- 0
|
81
|
-
version: 0.2.0
|
82
|
-
type: :runtime
|
83
|
-
version_requirements: *id004
|
63
|
+
version: 0.3.0.beta.1
|
64
|
+
version:
|
84
65
|
- !ruby/object:Gem::Dependency
|
85
66
|
name: em-resolv-replace
|
86
|
-
|
87
|
-
|
88
|
-
|
67
|
+
type: :runtime
|
68
|
+
version_requirement:
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
70
|
requirements:
|
90
71
|
- - ">="
|
91
72
|
- !ruby/object:Gem::Version
|
92
|
-
|
93
|
-
|
94
|
-
- 0
|
95
|
-
version: "0"
|
96
|
-
type: :runtime
|
97
|
-
version_requirements: *id005
|
73
|
+
version: 1.1.1
|
74
|
+
version:
|
98
75
|
- !ruby/object:Gem::Dependency
|
99
76
|
name: async-rack
|
100
|
-
|
101
|
-
|
102
|
-
|
77
|
+
type: :runtime
|
78
|
+
version_requirement:
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
103
80
|
requirements:
|
104
81
|
- - ">="
|
105
82
|
- !ruby/object:Gem::Version
|
106
|
-
|
107
|
-
|
108
|
-
- 0
|
109
|
-
version: "0"
|
110
|
-
type: :runtime
|
111
|
-
version_requirements: *id006
|
83
|
+
version: 0.5.1
|
84
|
+
version:
|
112
85
|
- !ruby/object:Gem::Dependency
|
113
86
|
name: rake
|
114
|
-
|
115
|
-
|
116
|
-
|
87
|
+
type: :development
|
88
|
+
version_requirement:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
90
|
requirements:
|
118
91
|
- - ">="
|
119
92
|
- !ruby/object:Gem::Version
|
120
|
-
hash: 3
|
121
|
-
segments:
|
122
|
-
- 0
|
123
93
|
version: "0"
|
124
|
-
|
125
|
-
version_requirements: *id007
|
94
|
+
version:
|
126
95
|
- !ruby/object:Gem::Dependency
|
127
96
|
name: rack-test
|
128
|
-
|
129
|
-
|
130
|
-
|
97
|
+
type: :development
|
98
|
+
version_requirement:
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
131
100
|
requirements:
|
132
101
|
- - "="
|
133
102
|
- !ruby/object:Gem::Version
|
134
|
-
hash: 5
|
135
|
-
segments:
|
136
|
-
- 0
|
137
|
-
- 5
|
138
|
-
- 7
|
139
103
|
version: 0.5.7
|
140
|
-
|
141
|
-
version_requirements: *id008
|
104
|
+
version:
|
142
105
|
- !ruby/object:Gem::Dependency
|
143
106
|
name: wrong
|
144
|
-
|
145
|
-
|
146
|
-
|
107
|
+
type: :development
|
108
|
+
version_requirement:
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
110
|
requirements:
|
148
111
|
- - "="
|
149
112
|
- !ruby/object:Gem::Version
|
150
|
-
hash: 11
|
151
|
-
segments:
|
152
|
-
- 0
|
153
|
-
- 5
|
154
|
-
- 0
|
155
113
|
version: 0.5.0
|
156
|
-
|
157
|
-
version_requirements: *id009
|
114
|
+
version:
|
158
115
|
- !ruby/object:Gem::Dependency
|
159
116
|
name: minitest
|
160
|
-
|
161
|
-
|
162
|
-
|
117
|
+
type: :development
|
118
|
+
version_requirement:
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
120
|
requirements:
|
164
121
|
- - ">="
|
165
122
|
- !ruby/object:Gem::Version
|
166
|
-
hash: 3
|
167
|
-
segments:
|
168
|
-
- 0
|
169
123
|
version: "0"
|
170
|
-
|
171
|
-
version_requirements: *id010
|
124
|
+
version:
|
172
125
|
description: Bootstraps in code required to take advantage of EventMachine/EM-Synchrony's concurrency enhancements for slow IO. Patches TCPSocket, which makes anything based on it EM-aware (including RestClient). Includes patch for tests. Requires ruby 1.9.
|
173
126
|
email:
|
174
127
|
- kyledrake@gmail.com
|
@@ -197,29 +150,21 @@ rdoc_options: []
|
|
197
150
|
require_paths:
|
198
151
|
- lib
|
199
152
|
required_ruby_version: !ruby/object:Gem::Requirement
|
200
|
-
none: false
|
201
153
|
requirements:
|
202
154
|
- - ">="
|
203
155
|
- !ruby/object:Gem::Version
|
204
|
-
hash: 3
|
205
|
-
segments:
|
206
|
-
- 0
|
207
156
|
version: "0"
|
157
|
+
version:
|
208
158
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
159
|
requirements:
|
211
160
|
- - ">="
|
212
161
|
- !ruby/object:Gem::Version
|
213
|
-
hash: 19
|
214
|
-
segments:
|
215
|
-
- 1
|
216
|
-
- 3
|
217
|
-
- 4
|
218
162
|
version: 1.3.4
|
163
|
+
version:
|
219
164
|
requirements: []
|
220
165
|
|
221
166
|
rubyforge_project: sinatra-synchrony
|
222
|
-
rubygems_version: 1.
|
167
|
+
rubygems_version: 1.3.5
|
223
168
|
signing_key:
|
224
169
|
specification_version: 3
|
225
170
|
summary: Bootstraps Sinatra with EM-Synchrony code, make TCPSocket EM-aware, provides support for tests
|