amqp 0.8.0.rc9 → 0.8.0.rc10
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 +2 -1
- data/README.textile +16 -1
- data/lib/amqp.rb +3 -0
- data/lib/amqp/compatibility/ruby187_patchlevel_check.rb +17 -0
- data/lib/amqp/version.rb +1 -1
- metadata +69 -38
data/CHANGELOG
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
= Version 0.8.0
|
2
2
|
|
3
|
-
* [
|
3
|
+
* [BUG] Ruby 1.8.7-p249 is not supported because of this (p249-specific) Ruby bug: http://bit.ly/iONBmH
|
4
|
+
* [FEATURE] AMQP::Utilities::EventLoopHelper detects app server (if any) being used and starts EventMachine reactor in an optimal way.
|
4
5
|
* [FEATURE] AMQP 0.9.1 support, including tx.* operations class.
|
5
6
|
* [API] Default authentication handler now raises AMQP::PossibleAuthenticationFailureError
|
6
7
|
* [API] AMQP::Channel#initialize now takes 3rd (optional) options hash.
|
data/README.textile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
h1. About amqp gem "!http://travis-ci.org/ruby-amqp/amqp.png!":http://travis-ci.org/ruby-amqp/amqp
|
2
2
|
|
3
3
|
amqp gem is a widely used, feature-rich, well-maintained asynchronous AMQP 0.9.1 client with batteries included.
|
4
|
-
This library works with Ruby 1.8.7, Ruby 1.9.2, JRuby, REE and Rubinius, and is
|
4
|
+
This library works with Ruby 1.8.7 (p174 and p334), Ruby 1.9.2, JRuby, REE and Rubinius, and is
|
5
5
|
licensed under the "Ruby License":http://www.ruby-lang.org/en/LICENSE.txt.
|
6
6
|
Versions 0.8.0 and later of amqp gem implement "AMQP 0.9.1":http://bit.ly/hw2ELX.
|
7
7
|
|
@@ -205,6 +205,21 @@ This library was tested primarily with "RabbitMQ":http://rabbitmq.com, although
|
|
205
205
|
server implementing the "AMQP 0.9.1 spec":http://bit.ly/hw2ELX. For AMQP 0.8.0 brokers,
|
206
206
|
use version 0.7.
|
207
207
|
|
208
|
+
h3. Why isn't Ruby 1.8.7.-p249 supported?
|
209
|
+
|
210
|
+
Because there is absolutely no way we can both make code like the following (pseudo-synchronous) work
|
211
|
+
|
212
|
+
<pre>
|
213
|
+
<code>
|
214
|
+
conn = AMQP.connect
|
215
|
+
ch = AMQP::Channel.new(conn)
|
216
|
+
|
217
|
+
ex = ch.default_exchange
|
218
|
+
ex.publish(some_data)
|
219
|
+
</code>
|
220
|
+
</pre>
|
221
|
+
|
222
|
+
and not be affected by this "Ruby 1.8.7-p249-specific bug (super called outside of method)":http://bit.ly/iONBmH
|
208
223
|
|
209
224
|
h2. Links
|
210
225
|
|
data/lib/amqp.rb
CHANGED
@@ -4,6 +4,9 @@ require "amq/client"
|
|
4
4
|
require "amq/client/adapters/event_machine"
|
5
5
|
|
6
6
|
require "amqp/version"
|
7
|
+
if RUBY_VERSION =~ /^1.8.7/
|
8
|
+
require "amqp/compatibility/ruby187_patchlevel_check"
|
9
|
+
end
|
7
10
|
require "amqp/exceptions"
|
8
11
|
require "amqp/connection"
|
9
12
|
require "amqp/exchange"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
if RUBY_VERSION =~ /^1.8.7/
|
2
|
+
require "rbconfig"
|
3
|
+
conf = RbConfig::CONFIG
|
4
|
+
|
5
|
+
# looks like PATCHLEVEL was added after 1.8.7-p249 release :( MK.
|
6
|
+
if (conf["PATCHLEVEL"] && conf["PATCHLEVEL"] == "249") || (conf["libdir"] =~ /1.8.7-p249/)
|
7
|
+
raise <<-MESSAGE
|
8
|
+
IMPORTANT: amqp gem 0.8.0+ does not support Ruby 1.8.7-p249 (this exact patch level. p174 and p334 are supported!)
|
9
|
+
because of a nasty Ruby bug (http://bit.ly/iONBmH). Refer to http://groups.google.com/group/ruby-amqp/browse_thread/thread/37d6dcc1aea1c102
|
10
|
+
for more information, especially if you want to verify whether a particular Ruby patch level or version or build suffers from
|
11
|
+
this issue.
|
12
|
+
|
13
|
+
To reiterate: 1.8.7-p174 and 1.8.7-p334 are supported. The fix has been committed to MRI in December 2009. It's
|
14
|
+
a good idea to upgrade, although downgrading to p174 is an option, too.
|
15
|
+
MESSAGE
|
16
|
+
end
|
17
|
+
end
|
data/lib/amqp/version.rb
CHANGED
metadata
CHANGED
@@ -1,48 +1,67 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: amqp
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15424129
|
5
5
|
prerelease: 6
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 8
|
9
|
+
- 0
|
10
|
+
- rc
|
11
|
+
- 10
|
12
|
+
version: 0.8.0.rc10
|
6
13
|
platform: ruby
|
7
|
-
authors:
|
14
|
+
authors:
|
8
15
|
- Aman Gupta
|
9
16
|
- Jakub Stastny aka botanicus
|
10
17
|
- Michael S. Klishin
|
11
18
|
autorequire:
|
12
19
|
bindir: bin
|
13
20
|
cert_chain: []
|
14
|
-
|
15
|
-
|
16
|
-
|
21
|
+
|
22
|
+
date: 2011-05-12 00:00:00 Z
|
23
|
+
dependencies:
|
24
|
+
- !ruby/object:Gem::Dependency
|
17
25
|
name: eventmachine
|
18
|
-
|
26
|
+
prerelease: false
|
27
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
28
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
hash: 3
|
33
|
+
segments:
|
34
|
+
- 0
|
35
|
+
version: "0"
|
24
36
|
type: :runtime
|
25
|
-
|
26
|
-
|
27
|
-
- !ruby/object:Gem::Dependency
|
37
|
+
version_requirements: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
28
39
|
name: amq-client
|
29
|
-
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
42
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: -3702664442
|
47
|
+
segments:
|
48
|
+
- 0
|
49
|
+
- 7
|
50
|
+
- 0
|
51
|
+
- alpha
|
52
|
+
- 21
|
34
53
|
version: 0.7.0.alpha21
|
35
54
|
type: :runtime
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
included
|
40
|
-
email:
|
55
|
+
version_requirements: *id002
|
56
|
+
description: Widely used, feature-rich asynchronous AMQP 0.9.1 client with batteries included
|
57
|
+
email:
|
41
58
|
- michael@novemberain.com
|
42
59
|
- stastny@101ideas.cz
|
43
60
|
executables: []
|
61
|
+
|
44
62
|
extensions: []
|
45
|
-
|
63
|
+
|
64
|
+
extra_rdoc_files:
|
46
65
|
- README.textile
|
47
66
|
- docs/08Migration.textile
|
48
67
|
- docs/Bindings.textile
|
@@ -58,7 +77,7 @@ extra_rdoc_files:
|
|
58
77
|
- docs/RabbitMQVersions.textile
|
59
78
|
- docs/Routing.textile
|
60
79
|
- docs/VendorSpecificExtensions.textile
|
61
|
-
files:
|
80
|
+
files:
|
62
81
|
- .gitignore
|
63
82
|
- .rspec
|
64
83
|
- .travis.yml
|
@@ -162,6 +181,7 @@ files:
|
|
162
181
|
- lib/amqp.rb
|
163
182
|
- lib/amqp/channel.rb
|
164
183
|
- lib/amqp/client.rb
|
184
|
+
- lib/amqp/compatibility/ruby187_patchlevel_check.rb
|
165
185
|
- lib/amqp/connection.rb
|
166
186
|
- lib/amqp/deprecated/fork.rb
|
167
187
|
- lib/amqp/deprecated/logger.rb
|
@@ -205,27 +225,38 @@ files:
|
|
205
225
|
- tasks.rb
|
206
226
|
homepage: http://github.com/ruby-amqp/amqp
|
207
227
|
licenses: []
|
228
|
+
|
208
229
|
post_install_message:
|
209
|
-
rdoc_options:
|
230
|
+
rdoc_options:
|
210
231
|
- --include=examples --main README.textile
|
211
|
-
require_paths:
|
232
|
+
require_paths:
|
212
233
|
- lib
|
213
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
234
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
214
235
|
none: false
|
215
|
-
requirements:
|
216
|
-
- -
|
217
|
-
- !ruby/object:Gem::Version
|
218
|
-
|
219
|
-
|
236
|
+
requirements:
|
237
|
+
- - ">="
|
238
|
+
- !ruby/object:Gem::Version
|
239
|
+
hash: 3
|
240
|
+
segments:
|
241
|
+
- 0
|
242
|
+
version: "0"
|
243
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
244
|
none: false
|
221
|
-
requirements:
|
222
|
-
- -
|
223
|
-
- !ruby/object:Gem::Version
|
245
|
+
requirements:
|
246
|
+
- - ">"
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
hash: 25
|
249
|
+
segments:
|
250
|
+
- 1
|
251
|
+
- 3
|
252
|
+
- 1
|
224
253
|
version: 1.3.1
|
225
254
|
requirements: []
|
255
|
+
|
226
256
|
rubyforge_project: amqp
|
227
|
-
rubygems_version: 1.8.
|
257
|
+
rubygems_version: 1.8.2
|
228
258
|
signing_key:
|
229
259
|
specification_version: 3
|
230
260
|
summary: AMQP client implementation in Ruby/EventMachine.
|
231
261
|
test_files: []
|
262
|
+
|