async_sinatra 0.3.0 → 0.4.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.tar.gz.sig +0 -0
- data/CHANGELOG.rdoc +5 -0
- data/Manifest.txt +9 -0
- data/README.rdoc +3 -4
- data/Rakefile +16 -90
- data/lib/async_sinatra.rb +6 -0
- data/test/test_async.rb +9 -3
- metadata +185 -29
- metadata.gz.sig +0 -0
data.tar.gz.sig
ADDED
Binary file
|
data/CHANGELOG.rdoc
ADDED
data/Manifest.txt
ADDED
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -1,97 +1,23 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
|
-
require 'rake/clean'
|
3
2
|
|
4
|
-
|
3
|
+
require 'hoe'
|
4
|
+
Hoe.plugin :doofus, :git, :minitest, :gemspec2, :rubyforge
|
5
5
|
|
6
|
-
|
7
|
-
@
|
8
|
-
begin
|
9
|
-
require 'rubygems/specification'
|
10
|
-
Thread.abort_on_exception = true
|
11
|
-
data = File.read(file)
|
12
|
-
spec = nil
|
13
|
-
Thread.new { spec = eval("$SAFE = 3\n#{data}") }.join
|
14
|
-
spec.instance_variable_set(:@filename, file)
|
15
|
-
def spec.filename; @filename; end
|
16
|
-
spec
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def manifest; @manifest ||= `git ls-files`.split("\n").reject{|s|s=~/\.gemspec$|\.gitignore$/}; end
|
21
|
-
|
22
|
-
require 'rubygems/package_task'
|
23
|
-
def gem_task; @gem_task ||= Gem::PackageTask.new(spec); end
|
24
|
-
gem_task.define
|
25
|
-
Rake::Task[:clobber].enhance [:clobber_package]
|
26
|
-
|
27
|
-
require 'rake/testtask'
|
28
|
-
Rake::TestTask.new do |t|
|
29
|
-
t.test_files = spec.test_files
|
30
|
-
t.ruby_opts = ['-rubygems']
|
31
|
-
t.warning = true
|
32
|
-
end unless spec.test_files.empty?
|
6
|
+
Hoe.spec 'async_sinatra' do
|
7
|
+
developer 'raggi', 'raggi@rubyforge.org'
|
33
8
|
|
34
|
-
|
35
|
-
|
36
|
-
rd.title = spec.name
|
37
|
-
rd.main = spec.extra_rdoc_files.first
|
38
|
-
lib_rexp = spec.require_paths.map { |p| Regexp.escape p }.join('|')
|
39
|
-
rd.rdoc_files.include(*manifest.grep(/^(?:#{lib_rexp})/))
|
40
|
-
rd.rdoc_files.include(*spec.extra_rdoc_files)
|
41
|
-
end
|
42
|
-
|
43
|
-
Rake::Task[:clobber].enhance [:clobber_rdoc]
|
9
|
+
extra_deps << %w[rack >=1.2.1]
|
10
|
+
extra_deps << %w[sinatra >=1.0]
|
44
11
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
remote_dir = "/var/www/gforge-projects/#{spec.rubyforge_project}/#{spec.name}/"
|
52
|
-
Rake::SshDirPublisher.new(host, remote_dir, rdtask.rdoc_dir).upload
|
53
|
-
end
|
12
|
+
extra_dev_deps << %w(hoe-doofus >=1.0)
|
13
|
+
extra_dev_deps << %w(hoe-seattlerb >=1.2)
|
14
|
+
extra_dev_deps << %w(hoe-git >=1.3)
|
15
|
+
extra_dev_deps << %w(hoe-gemspec2 >=1.0)
|
16
|
+
extra_dev_deps << %w(rdoc)
|
17
|
+
extra_dev_deps << %w(eventmachine >=0.12.11)
|
54
18
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
when /darwin/ ; sh "open #{path}"
|
60
|
-
when /mswin|mingw/ ; sh "start #{path}"
|
61
|
-
else
|
62
|
-
sh "firefox #{path}"
|
63
|
-
end
|
19
|
+
self.extra_rdoc_files = FileList["**/*.rdoc"]
|
20
|
+
self.history_file = "CHANGELOG.rdoc"
|
21
|
+
self.readme_file = "README.rdoc"
|
22
|
+
self.rubyforge_name = 'libraggi'
|
64
23
|
end
|
65
|
-
|
66
|
-
desc "Regenerate gemspec"
|
67
|
-
task :gemspec => spec.filename
|
68
|
-
|
69
|
-
task spec.filename do
|
70
|
-
spec.files = manifest
|
71
|
-
spec.test_files = manifest.grep(%r{test/test_.*\.rb})
|
72
|
-
open(spec.filename, 'w') { |w| w.write spec.to_ruby }
|
73
|
-
end
|
74
|
-
|
75
|
-
desc "Bump version from #{spec.version} to #{spec.version.to_s.succ}"
|
76
|
-
task :bump do
|
77
|
-
spec.version = spec.version.to_s.succ
|
78
|
-
spec.date = Time.now
|
79
|
-
end
|
80
|
-
|
81
|
-
desc "Tag version #{spec.version}"
|
82
|
-
task :tag do
|
83
|
-
tagged = Dir.new('.git/refs/tags').entries.include? spec.version.to_s
|
84
|
-
if tagged
|
85
|
-
warn "Tag #{spec.version} already exists"
|
86
|
-
else
|
87
|
-
# TODO release message in tag message
|
88
|
-
sh "git tag #{spec.version}"
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
desc "Release #{gem_task.gem_spec.file_name}"
|
93
|
-
task :release => [:tag, :gem, :publish] do |t|
|
94
|
-
sh "rubyforge add_release #{spec.rubyforge_project} #{spec.name} #{spec.version} #{gem_task.package_dir}/#{gem_task.gem_spec.file_name}"
|
95
|
-
sh "gem push #{gem_task.package_dir}/#{gem_task.gem_spec.file_name}"
|
96
|
-
sh "git push --all --tags"
|
97
|
-
end
|
data/test/test_async.rb
CHANGED
@@ -93,6 +93,12 @@ class TestSinatraAsync < Test::Unit::TestCase
|
|
93
93
|
def app
|
94
94
|
TestApp.new
|
95
95
|
end
|
96
|
+
|
97
|
+
def assert_redirect(path)
|
98
|
+
r = last_request.env
|
99
|
+
uri = r['rack.url_scheme'] + '://' + r['SERVER_NAME'] + path
|
100
|
+
assert_equal uri, last_response.location
|
101
|
+
end
|
96
102
|
|
97
103
|
def test_basic_async_get
|
98
104
|
get '/hello'
|
@@ -171,14 +177,14 @@ class TestSinatraAsync < Test::Unit::TestCase
|
|
171
177
|
aget '/redirect'
|
172
178
|
assert last_response.redirect?
|
173
179
|
assert_equal 302, last_response.status
|
174
|
-
|
180
|
+
assert_redirect '/'
|
175
181
|
end
|
176
182
|
|
177
183
|
def test_aredirect
|
178
184
|
aget '/aredirect'
|
179
185
|
assert last_response.redirect?
|
180
186
|
assert_equal 302, last_response.status
|
181
|
-
|
187
|
+
assert_redirect '/'
|
182
188
|
end
|
183
189
|
|
184
190
|
def test_emredirect
|
@@ -186,6 +192,6 @@ class TestSinatraAsync < Test::Unit::TestCase
|
|
186
192
|
em_async_continue
|
187
193
|
assert last_response.redirect?
|
188
194
|
assert_equal 302, last_response.status
|
189
|
-
|
195
|
+
assert_redirect '/'
|
190
196
|
end
|
191
197
|
end
|
metadata
CHANGED
@@ -1,27 +1,64 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: async_sinatra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 15
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 4
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
|
-
-
|
13
|
+
- raggi
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
|
-
cert_chain:
|
16
|
+
cert_chain:
|
17
|
+
- |
|
18
|
+
-----BEGIN CERTIFICATE-----
|
19
|
+
MIIDNDCCAhygAwIBAgIBADANBgkqhkiG9w0BAQUFADBAMQ4wDAYDVQQDDAVyYWdn
|
20
|
+
aTEZMBcGCgmSJomT8ixkARkWCXJ1Ynlmb3JnZTETMBEGCgmSJomT8ixkARkWA29y
|
21
|
+
ZzAeFw0xMDEyMjIyMDIyMzlaFw0xMTEyMjIyMDIyMzlaMEAxDjAMBgNVBAMMBXJh
|
22
|
+
Z2dpMRkwFwYKCZImiZPyLGQBGRYJcnVieWZvcmdlMRMwEQYKCZImiZPyLGQBGRYD
|
23
|
+
b3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvgeVrJxLGm2PgcrM
|
24
|
+
DoB5mgQVC8PMYzpzJ64+75DQ1BgHa6wIeAuRphLY9qQh+sTTvKbUHtdgkWGghRVf
|
25
|
+
GaRVmtFlDHRt6RHWBmxXhXmcywT6c1xeni+eC7p56/zSkZ2RFHaZ4BXC4+8lO56j
|
26
|
+
sAh7c+YTcY1xd7teRX6g98aIep4MLxQlbEY+DcdDvtCIAswUYNVY+Nw08goIEw5Q
|
27
|
+
Sjm4fjrFPBT0T6RsmkcI4ea78h993nrWPdIndgVniwBc/SxGuBUGrfm637yCXNwL
|
28
|
+
FUzVd0qsJcIeMhXS8ZTii04oWKcK+G2B7KZ8/+olu7TwJu5mom9ORRMlflrTxJxi
|
29
|
+
rd4TBQIDAQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
|
30
|
+
2QvD5zSSmpVqxaJSYrFbamIWCn0wDQYJKoZIhvcNAQEFBQADggEBAHwCkRkMjr/h
|
31
|
+
oYjGvs3BdEDuEYvzpKgWr6xv0hjsklBZ096dOjm0tLNSdplpn5MALUw3Cqtgp1KK
|
32
|
+
EKEZgEi9fbhhyzhkQyoociuqLQQ0daZuigh2CESrznX1b8AawCLyB2bJ9blNylPi
|
33
|
+
GWGaAjsqPBtAP6LoQib2aS0YuK7kVWxUTlupQ2D3Af5ag6NY8pS/etpS4IMVQU5l
|
34
|
+
v9ctVo17bHsWM3sjLW3Lj6xzYheYo0r9YAMOLXz7c92JwDQahDN95W4rUTj68rAQ
|
35
|
+
dHaj98YtwM8tjKyJsxZSeZEn+4wEtwTHuqU7v/HaK7OX+eIb090ZsV5ii5YpD/Fh
|
36
|
+
WjgTOJft4S4=
|
37
|
+
-----END CERTIFICATE-----
|
17
38
|
|
18
|
-
date:
|
39
|
+
date: 2011-01-02 00:00:00 -05:00
|
19
40
|
default_executable:
|
20
41
|
dependencies:
|
21
42
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
43
|
+
name: rack
|
23
44
|
prerelease: false
|
24
45
|
requirement: &id001 !ruby/object:Gem::Requirement
|
46
|
+
none: false
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
hash: 29
|
51
|
+
segments:
|
52
|
+
- 1
|
53
|
+
- 2
|
54
|
+
- 1
|
55
|
+
version: 1.2.1
|
56
|
+
type: :runtime
|
57
|
+
version_requirements: *id001
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: sinatra
|
60
|
+
prerelease: false
|
61
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
25
62
|
none: false
|
26
63
|
requirements:
|
27
64
|
- - ">="
|
@@ -32,27 +69,117 @@ dependencies:
|
|
32
69
|
- 0
|
33
70
|
version: "1.0"
|
34
71
|
type: :runtime
|
35
|
-
version_requirements: *
|
72
|
+
version_requirements: *id002
|
36
73
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
74
|
+
name: minitest
|
38
75
|
prerelease: false
|
39
|
-
requirement: &
|
76
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
77
|
none: false
|
41
78
|
requirements:
|
42
79
|
- - ">="
|
43
80
|
- !ruby/object:Gem::Version
|
44
|
-
hash:
|
81
|
+
hash: 15
|
82
|
+
segments:
|
83
|
+
- 1
|
84
|
+
- 6
|
85
|
+
- 0
|
86
|
+
version: 1.6.0
|
87
|
+
type: :development
|
88
|
+
version_requirements: *id003
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rubyforge
|
91
|
+
prerelease: false
|
92
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
hash: 7
|
45
98
|
segments:
|
46
99
|
- 2
|
100
|
+
- 0
|
47
101
|
- 4
|
102
|
+
version: 2.0.4
|
103
|
+
type: :development
|
104
|
+
version_requirements: *id004
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
name: hoe-doofus
|
107
|
+
prerelease: false
|
108
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
hash: 15
|
114
|
+
segments:
|
48
115
|
- 1
|
49
|
-
|
116
|
+
- 0
|
117
|
+
version: "1.0"
|
50
118
|
type: :development
|
51
|
-
version_requirements: *
|
119
|
+
version_requirements: *id005
|
52
120
|
- !ruby/object:Gem::Dependency
|
53
|
-
name:
|
121
|
+
name: hoe-seattlerb
|
54
122
|
prerelease: false
|
55
|
-
requirement: &
|
123
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
124
|
+
none: false
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
hash: 11
|
129
|
+
segments:
|
130
|
+
- 1
|
131
|
+
- 2
|
132
|
+
version: "1.2"
|
133
|
+
type: :development
|
134
|
+
version_requirements: *id006
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: hoe-git
|
137
|
+
prerelease: false
|
138
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
hash: 9
|
144
|
+
segments:
|
145
|
+
- 1
|
146
|
+
- 3
|
147
|
+
version: "1.3"
|
148
|
+
type: :development
|
149
|
+
version_requirements: *id007
|
150
|
+
- !ruby/object:Gem::Dependency
|
151
|
+
name: hoe-gemspec2
|
152
|
+
prerelease: false
|
153
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
hash: 15
|
159
|
+
segments:
|
160
|
+
- 1
|
161
|
+
- 0
|
162
|
+
version: "1.0"
|
163
|
+
type: :development
|
164
|
+
version_requirements: *id008
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: rdoc
|
167
|
+
prerelease: false
|
168
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
hash: 3
|
174
|
+
segments:
|
175
|
+
- 0
|
176
|
+
version: "0"
|
177
|
+
type: :development
|
178
|
+
version_requirements: *id009
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: eventmachine
|
181
|
+
prerelease: false
|
182
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
56
183
|
none: false
|
57
184
|
requirements:
|
58
185
|
- - ">="
|
@@ -60,36 +187,65 @@ dependencies:
|
|
60
187
|
hash: 57
|
61
188
|
segments:
|
62
189
|
- 0
|
190
|
+
- 12
|
191
|
+
- 11
|
192
|
+
version: 0.12.11
|
193
|
+
type: :development
|
194
|
+
version_requirements: *id010
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: hoe
|
197
|
+
prerelease: false
|
198
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
199
|
+
none: false
|
200
|
+
requirements:
|
201
|
+
- - ">="
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
hash: 47
|
204
|
+
segments:
|
205
|
+
- 2
|
63
206
|
- 8
|
64
|
-
-
|
65
|
-
version:
|
207
|
+
- 0
|
208
|
+
version: 2.8.0
|
66
209
|
type: :development
|
67
|
-
version_requirements: *
|
68
|
-
description:
|
69
|
-
|
210
|
+
version_requirements: *id011
|
211
|
+
description: |-
|
212
|
+
A Sinatra plugin to provide convenience whilst performing asynchronous
|
213
|
+
responses inside of the Sinatra framework running under async webservers.
|
214
|
+
|
215
|
+
To properly utilise this package, some knowledge of EventMachine and/or
|
216
|
+
asynchronous patterns is recommended.
|
217
|
+
|
218
|
+
Currently, supporting servers include:
|
219
|
+
|
220
|
+
* Thin
|
221
|
+
* Rainbows
|
222
|
+
* Zbatery
|
223
|
+
email:
|
224
|
+
- raggi@rubyforge.org
|
70
225
|
executables: []
|
71
226
|
|
72
227
|
extensions: []
|
73
228
|
|
74
229
|
extra_rdoc_files:
|
230
|
+
- Manifest.txt
|
231
|
+
- CHANGELOG.rdoc
|
75
232
|
- README.rdoc
|
76
233
|
files:
|
234
|
+
- CHANGELOG.rdoc
|
235
|
+
- Manifest.txt
|
77
236
|
- README.rdoc
|
78
237
|
- Rakefile
|
79
238
|
- examples/basic.ru
|
239
|
+
- lib/async_sinatra.rb
|
80
240
|
- lib/sinatra/async.rb
|
81
241
|
- lib/sinatra/async/test.rb
|
82
242
|
- test/test_async.rb
|
83
243
|
has_rdoc: true
|
84
|
-
homepage: http://
|
244
|
+
homepage: http://github.com/raggi/async_sinatra
|
85
245
|
licenses: []
|
86
246
|
|
87
247
|
post_install_message:
|
88
248
|
rdoc_options:
|
89
|
-
- --line-numbers
|
90
|
-
- --inline-source
|
91
|
-
- --title
|
92
|
-
- Async Sinatra
|
93
249
|
- --main
|
94
250
|
- README.rdoc
|
95
251
|
require_paths:
|
@@ -115,9 +271,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
271
|
requirements: []
|
116
272
|
|
117
273
|
rubyforge_project: libraggi
|
118
|
-
rubygems_version: 1.
|
274
|
+
rubygems_version: 1.4.1
|
119
275
|
signing_key:
|
120
|
-
specification_version:
|
121
|
-
summary:
|
276
|
+
specification_version: 3
|
277
|
+
summary: A Sinatra plugin to provide convenience whilst performing asynchronous responses inside of the Sinatra framework running under async webservers
|
122
278
|
test_files:
|
123
279
|
- test/test_async.rb
|
metadata.gz.sig
ADDED
Binary file
|