amqp 0.9.10 → 1.0.0.pre1
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/.travis.yml +0 -3
- data/CHANGELOG +4 -0
- data/Gemfile +1 -0
- data/README.md +72 -81
- data/amqp.gemspec +14 -5
- data/docs/08Migration.textile +0 -4
- data/docs/AMQP091ModelExplained.textile +0 -5
- data/docs/Bindings.textile +0 -4
- data/docs/Clustering.textile +0 -4
- data/docs/ConnectingToTheBroker.textile +1 -5
- data/docs/ConnectionEncryptionWithTLS.textile +0 -4
- data/docs/DocumentationGuidesIndex.textile +0 -4
- data/docs/Durability.textile +0 -4
- data/docs/ErrorHandling.textile +40 -106
- data/docs/Exchanges.textile +0 -4
- data/docs/GettingStarted.textile +6 -10
- data/docs/PatternsAndUseCases.textile +1 -4
- data/docs/Queues.textile +0 -4
- data/docs/RabbitMQVersions.textile +0 -4
- data/docs/RunningTests.textile +0 -4
- data/docs/TestingWithEventedSpec.textile +0 -4
- data/docs/Troubleshooting.textile +0 -4
- data/docs/VendorSpecificExtensions.textile +0 -4
- data/examples/error_handling/hello_world_producer.rb +1 -1
- data/examples/issues/issue_121.rb +23 -0
- data/examples/patterns/request_reply/client.rb +2 -1
- data/examples/patterns/request_reply/server.rb +1 -0
- data/examples/publishing/returned_messages.rb +1 -1
- data/lib/amqp.rb +0 -7
- data/lib/amqp/channel.rb +15 -33
- data/lib/amqp/client.rb +2 -2
- data/lib/amqp/compatibility/ruby187_patchlevel_check.rb +4 -4
- data/lib/amqp/connection.rb +0 -1
- data/lib/amqp/consumer.rb +2 -2
- data/lib/amqp/exceptions.rb +1 -10
- data/lib/amqp/exchange.rb +5 -5
- data/lib/amqp/queue.rb +23 -47
- data/lib/amqp/session.rb +4 -4
- data/lib/amqp/version.rb +1 -1
- data/spec/integration/basic_get_spec.rb +24 -80
- data/spec/integration/basic_return_spec.rb +3 -3
- data/spec/integration/channel_level_exception_with_multiple_channels_spec.rb +1 -0
- data/spec/integration/exchange_declaration_spec.rb +102 -71
- data/spec/integration/extensions/rabbitmq/publisher_confirmations_spec.rb +17 -1
- data/spec/integration/fanout_exchange_routing_spec.rb +1 -1
- data/spec/integration/immediate_messages_spec.rb +59 -0
- data/spec/integration/multiple_consumers_per_queue_spec.rb +101 -39
- data/spec/integration/queue_redeclaration_with_incompatible_attributes_spec.rb +12 -25
- data/spec/integration/regressions/concurrent_publishing_on_the_same_channel_spec.rb +1 -1
- data/spec/integration/reply_queue_communication_spec.rb +2 -1
- data/spec/integration/store_and_forward_spec.rb +9 -6
- data/spec/integration/topic_subscription_spec.rb +4 -5
- data/spec/spec_helper.rb +2 -8
- data/spec/unit/amqp/connection_spec.rb +1 -3
- metadata +112 -116
- data/examples/deprecated/default_thread_local_channel_instance.rb +0 -34
- data/examples/legacy/ack.rb +0 -70
- data/examples/legacy/callbacks.rb +0 -45
- data/examples/legacy/clock.rb +0 -74
- data/examples/legacy/hashtable.rb +0 -60
- data/examples/legacy/logger.rb +0 -92
- data/examples/legacy/multiclock.rb +0 -56
- data/examples/legacy/pingpong.rb +0 -51
- data/examples/legacy/primes-simple.rb +0 -29
- data/examples/legacy/primes.rb +0 -74
- data/examples/legacy/stocks.rb +0 -59
- data/lib/amqp/deprecated/fork.rb +0 -17
- data/lib/amqp/deprecated/logger.rb +0 -100
- data/lib/amqp/deprecated/mq.rb +0 -22
- data/lib/amqp/deprecated/rpc.rb +0 -169
- data/lib/amqp/ext/em.rb +0 -3
- data/lib/amqp/ext/emfork.rb +0 -72
- data/lib/amqp/logger.rb +0 -19
- data/lib/amqp/rpc.rb +0 -20
- data/lib/mq.rb +0 -35
- data/lib/mq/logger.rb +0 -4
- data/lib/mq/rpc.rb +0 -4
- data/spec/integration/remove_individual_binding_spec.rb +0 -51
data/.travis.yml
CHANGED
data/CHANGELOG
CHANGED
data/Gemfile
CHANGED
@@ -7,6 +7,7 @@ source :rubygems
|
|
7
7
|
def custom_gem(name, options = Hash.new)
|
8
8
|
local_path = File.expand_path("../vendor/#{name}", __FILE__)
|
9
9
|
if File.exist?(local_path)
|
10
|
+
puts "Using #{name} from #{local_path}..."
|
10
11
|
gem name, options.merge(:path => local_path).delete_if { |key, _| [:git, :branch].include?(key) }
|
11
12
|
else
|
12
13
|
gem name, options
|
data/README.md
CHANGED
@@ -1,19 +1,20 @@
|
|
1
|
-
# Ruby amqp gem
|
1
|
+
# About Ruby amqp gem #
|
2
2
|
|
3
3
|
[Ruby amqp gem](http://rubyamqp.info) is a widely used, feature-rich, well-maintained asynchronous AMQP 0.9.1 client with batteries included.
|
4
4
|
This library works with Ruby 1.8.7 (*except for p249*, see the FAQ), Ruby 1.9.2, Ruby 1.9.3, [JRuby](http://jruby.org), [Rubinius](http://rubini.us) as well as [REE](http://www.rubyenterpriseedition.com), and is licensed under the [Ruby License](http://www.ruby-lang.org/en/LICENSE.txt)
|
5
5
|
|
6
|
-
0.8.0 and later versions of amqp gem implement [AMQP 0.9.1](http://
|
6
|
+
0.8.0 and later versions of amqp gem implement [AMQP 0.9.1](http://bit.ly/amqp-model-explained) (see also [AMQP 0.9.1 spec document](http://bit.ly/amqp091spec)) and support [RabbitMQ extensions to AMQP 0.9.1](http://www.rabbitmq.com/extensions.html).
|
7
|
+
|
8
|
+
[](http://travis-ci.org/ruby-amqp/amqp)
|
7
9
|
|
8
10
|
|
9
|
-
## I know what AMQP is, how do I get started?
|
11
|
+
## I know what AMQP is, how do I get started? ##
|
10
12
|
|
11
|
-
See [Getting started with amqp gem](http://
|
12
|
-
We recommend that you read [AMQP 0.9.1 Model Explained](http://www.rabbitmq.com/tutorials/amqp-concepts.html), too.
|
13
|
+
See [Getting started with amqp gem](http://bit.ly/getting-started-with-amqp-ruby-gem) and other [documentation guides](http://bit.ly/amqp-gem-docs). We recommend that you read [AMQP 0.9.1 Model Explained](http://bit.ly/amqp-model-explained), too.
|
13
14
|
|
14
15
|
|
15
16
|
|
16
|
-
## What is AMQP?
|
17
|
+
## What is AMQP? ##
|
17
18
|
|
18
19
|
AMQP is an [open standard for messaging middleware](http://www.amqp.org/confluence/display/AMQP/About+AMQP) that
|
19
20
|
emphasizes interoperability between different technologies (for example, Java, .NET, Ruby, Python, Node.js, Erlang, C and so on).
|
@@ -22,7 +23,7 @@ Key features of AMQP are very flexible yet simple routing and binary protocol ef
|
|
22
23
|
message acknowledgements, returning of messages to producer, redelivery of messages that couldn't be processed, load balancing between message consumers and so on.
|
23
24
|
|
24
25
|
|
25
|
-
## What is amqp gem good for?
|
26
|
+
## What is amqp gem good for? ##
|
26
27
|
|
27
28
|
One can use amqp gem to make Ruby applications interoperate with other
|
28
29
|
applications (both Ruby and not). Complexity and size may vary from
|
@@ -56,20 +57,20 @@ Specific examples:
|
|
56
57
|
|
57
58
|
|
58
59
|
|
59
|
-
## Getting started with Ruby amqp gem
|
60
|
+
## Getting started with Ruby amqp gem ##
|
60
61
|
|
61
|
-
### Install RabbitMQ
|
62
|
+
### Install RabbitMQ ###
|
62
63
|
|
63
64
|
Please refer to the [RabbitMQ installation guide](http://www.rabbitmq.com/install.html). Note that for Ubuntu and Debian we strongly advice that you
|
64
65
|
use [RabbitMQ apt repository](http://www.rabbitmq.com/debian.html#apt) that has recent versions of RabbitMQ. RabbitMQ packages Ubuntu and Debian ship
|
65
66
|
with are outdated even in recent (10.10) releases. Learn more in the [RabbitMQ versions guide](http://rubydoc.info/github/ruby-amqp/amqp/master/file/docs/RabbitMQVersions.textile).
|
66
67
|
|
67
68
|
|
68
|
-
### Install the gem
|
69
|
+
### Install the gem ###
|
69
70
|
|
70
71
|
On Microsoft Windows 7
|
71
72
|
|
72
|
-
gem install eventmachine
|
73
|
+
gem install eventmachine --pre
|
73
74
|
gem install amqp
|
74
75
|
|
75
76
|
On other OSes or [JRuby](http://jruby.org):
|
@@ -77,50 +78,48 @@ On other OSes or [JRuby](http://jruby.org):
|
|
77
78
|
gem install amqp
|
78
79
|
|
79
80
|
|
80
|
-
### "Hello, World" example
|
81
|
+
### "Hello, World" example ###
|
81
82
|
|
82
|
-
|
83
|
-
|
84
|
-
# encoding: utf-8
|
83
|
+
#!/usr/bin/env ruby
|
84
|
+
# encoding: utf-8
|
85
85
|
|
86
|
-
require "rubygems"
|
87
|
-
# or
|
88
|
-
#
|
89
|
-
# require "bundler"
|
90
|
-
# Bundler.setup
|
91
|
-
#
|
92
|
-
# if you use Bundler
|
86
|
+
require "rubygems"
|
87
|
+
# or
|
88
|
+
#
|
89
|
+
# require "bundler"
|
90
|
+
# Bundler.setup
|
91
|
+
#
|
92
|
+
# if you use Bundler
|
93
93
|
|
94
|
-
require 'amqp'
|
94
|
+
require 'amqp'
|
95
95
|
|
96
|
-
EventMachine.run do
|
97
|
-
|
98
|
-
|
96
|
+
EventMachine.run do
|
97
|
+
connection = AMQP.connect(:host => '127.0.0.1')
|
98
|
+
puts "Connecting to AMQP broker. Running #{AMQP::VERSION} version of the gem..."
|
99
99
|
|
100
|
-
|
101
|
-
|
102
|
-
|
100
|
+
channel = AMQP::Channel.new(connection)
|
101
|
+
queue = channel.queue("amqpgem.examples.hello_world", :auto_delete => true)
|
102
|
+
exchange = channel.default_exchange
|
103
103
|
|
104
|
-
|
105
|
-
|
104
|
+
queue.subscribe do |payload|
|
105
|
+
puts "Received a message: #{payload}. Disconnecting..."
|
106
106
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
107
|
+
connection.close {
|
108
|
+
EventMachine.stop { exit }
|
109
|
+
}
|
110
|
+
end
|
111
111
|
|
112
|
-
|
113
|
-
end
|
114
|
-
```
|
112
|
+
exchange.publish "Hello, world!", :routing_key => queue.name
|
113
|
+
end
|
115
114
|
|
116
115
|
|
117
|
-
[Getting started guide](http://
|
118
|
-
and is written in a form of a tutorial. See [AMQP Model Explained](http://
|
116
|
+
[Getting started guide](http://bit.ly/getting-started-with-amqp-ruby-gem) explains this and two more examples in detail,
|
117
|
+
and is written in a form of a tutorial. See [AMQP Model Explained](http://bit.ly/amqp-model-explained) if you want
|
119
118
|
to learn more about AMQP principles & concepts.
|
120
119
|
|
121
120
|
|
122
121
|
|
123
|
-
## Documentation: tutorials, guides & API reference
|
122
|
+
## Documentation: tutorials, guides & API reference ##
|
124
123
|
|
125
124
|
We believe that in order to be a library our users **really** love, we need to care about documentation as much as (or more)
|
126
125
|
code readability, API beauty and autotomated testing across 5 Ruby implementations on multiple operating systems. We do care
|
@@ -128,77 +127,70 @@ about our [documentation](http://rubyamqp.info): **if you don't find your answer
|
|
128
127
|
should [file to us](http://github.com/ruby-amqp/amqp/issues). Or just complain to [@rubyamqp](https://twitter.com/rubyamqp) on Twitter.
|
129
128
|
|
130
129
|
|
131
|
-
### Tutorials
|
130
|
+
### Tutorials ###
|
132
131
|
|
133
|
-
[Getting started guide](http://
|
132
|
+
[Getting started guide](http://bit.ly/getting-started-with-amqp-ruby-gem) is written as a tutorial that walks you through
|
134
133
|
3 examples:
|
135
134
|
|
136
135
|
* The "Hello, world" of messaging, 1-to-1 communication
|
137
136
|
* Blabbr, a Twitter-like example of broadcasting (1-to-many communication)
|
138
137
|
* Weathr, an example of sophisticated routing capabilities AMQP 0.9.1 has to offer (1-to-many or many-to-many communication)
|
139
138
|
|
140
|
-
all in under 20 minutes. [AMQP 0.9.1
|
139
|
+
all in under 20 minutes. [AMQP 0.9.1 Protocol Tutorial](http://bit.ly/amqp-model-explained) will introduce you to protocol concepts
|
141
140
|
in less than 5 minutes.
|
142
141
|
|
143
142
|
|
144
|
-
###
|
145
|
-
|
146
|
-
[Documentation guides](http://rubyamqp.info) describe the library itself as well as AMQP concepts, usage scenarios, topics like working with exchanges and queues,
|
147
|
-
error handing & recovery, broker-specific extensions, TLS support, troubleshooting and so on. Most of the documentation is in these guides.
|
148
|
-
|
149
|
-
### Examples
|
143
|
+
### Examples ###
|
150
144
|
|
151
145
|
You can find many examples (both real-world cases and simple demonstrations) under [examples directory](https://github.com/ruby-amqp/amqp/tree/master/examples) in the repository.
|
152
146
|
Note that those examples are written against version 0.8.0.rc1 and later. 0.6.x and 0.7.x may not support certain AMQP protocol or "DSL syntax" features.
|
153
147
|
|
154
|
-
There is also a work-in-progress [Messaging Patterns and Use Cases With AMQP](http://
|
148
|
+
There is also a work-in-progress [Messaging Patterns and Use Cases With AMQP](http://bit.ly/amqp-gem-patterns) documentation guide.
|
155
149
|
|
156
150
|
|
157
|
-
###
|
151
|
+
### Documentation guides ###
|
158
152
|
|
159
|
-
|
160
|
-
|
161
|
-
We cover Web application integration for multiple Ruby Web servers in [Connecting to the broker guide](http://rubyamqp.info/articles/connecting_to_broker/).
|
153
|
+
[Documentation guides](http://rubyamqp.info) (also [on rubydoc.info](http://bit.ly/amqp-gem-docs)) describe the library itself as well as AMQP concepts, usage scenarios, topics like working with exchanges and queues,
|
154
|
+
error handing & recovery, broker-specific extensions, TLS support, troubleshooting and so on. Most of the documentation is in these guides.
|
162
155
|
|
163
156
|
|
164
|
-
|
157
|
+
### API reference ###
|
165
158
|
|
166
|
-
|
159
|
+
[API reference](http://bit.ly/mDm1JE) is up on [rubydoc.info](http://rubydoc.info) and is updated daily.
|
167
160
|
|
168
161
|
|
169
162
|
|
170
|
-
##
|
163
|
+
## How to use AMQP gem with Ruby on Rails, Merb, Sinatra and other web frameworks ##
|
171
164
|
|
172
|
-
|
173
|
-
* Join [Ruby AMQP mailing list](http://groups.google.com/group/ruby-amqp)
|
174
|
-
* Follow [@rubyamqp](https://twitter.com/rubyamqp) on Twitter for Ruby AMQP ecosystem updates.
|
175
|
-
* Stop by #rabbitmq on irc.freenode.net. You can use [Web IRC client](http://webchat.freenode.net?channels=rabbitmq) if you don't have IRC client installed.
|
165
|
+
We cover Web application integration for multiple Ruby Web servers in [Connecting to the broker guide](http://bit.ly/kFCVQU).
|
176
166
|
|
177
|
-
[](http://travis-ci.org/ruby-amqp/amqp)
|
178
167
|
|
179
168
|
|
180
169
|
## Migration from amqp gem 0.6.x and 0.7.x
|
181
170
|
|
182
|
-
Upgrading from amqp gem 0.6.x and 0.7.x to to 0.8.0.RCs is straightforward, please see [amqp gem 0.8.0 migration guide](http://
|
171
|
+
Upgrading from amqp gem 0.6.x and 0.7.x to to 0.8.0.RCs is straightforward, please see [amqp gem 0.8.0 migration guide](http://bit.ly/amqp-gem-080-migration).
|
183
172
|
The same guide explains amqp gem versions history and why you would want to upgrade.
|
184
173
|
|
185
174
|
|
186
|
-
|
187
175
|
## Maintainer Information
|
188
176
|
|
189
177
|
amqp gem is maintained by [Michael Klishin](https://github.com/michaelklishin).
|
190
178
|
|
191
179
|
|
192
|
-
##
|
180
|
+
## Community
|
181
|
+
|
182
|
+
* Join [Ruby AMQP mailing list](http://groups.google.com/group/ruby-amqp)
|
183
|
+
* Follow [@rubyamqp](https://twitter.com/rubyamqp) on Twitter for Ruby AMQP ecosystem updates.
|
184
|
+
* Join also [RabbitMQ mailing list](https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss) (AMQP community epicenter).
|
185
|
+
* Stop by #rabbitmq on irc.freenode.net. You can use [Web IRC client](http://webchat.freenode.net?channels=rabbitmq) if you don't have IRC client installed.
|
193
186
|
|
194
|
-
[](http://travis-ci.org/ruby-amqp/amqp)
|
195
187
|
|
196
188
|
|
197
189
|
## Links ##
|
198
190
|
|
199
191
|
* [API reference](http://rdoc.info/github/ruby-amqp/amqp/master/frames)
|
200
|
-
* [Documentation guides](http://
|
201
|
-
* [Code Examples](https://github.com/ruby-amqp/
|
192
|
+
* [Documentation guides](http://bit.ly/amqp-gem-docs)
|
193
|
+
* [Code Examples](https://github.com/ruby-amqp/amq-protocol/tree/master/examples/)
|
202
194
|
* [Issue tracker](http://github.com/ruby-amqp/amqp/issues)
|
203
195
|
* [Continous integration status](http://travis-ci.org/#!/ruby-amqp/amqp)
|
204
196
|
|
@@ -214,8 +206,8 @@ AMQP gem is licensed under the [Ruby License](http://www.ruby-lang.org/en/LICENS
|
|
214
206
|
* The Original Code is [tmm1/amqp](http://github.com/tmm1/amqp).
|
215
207
|
* The Initial Developer of the Original Code is Aman Gupta.
|
216
208
|
* Copyright (c) 2008 - 2010 [Aman Gupta](http://github.com/tmm1).
|
217
|
-
* Contributions from [Jakub Stastny](http://github.com/botanicus) are Copyright (c) 2011
|
218
|
-
* Copyright (c) 2010 —
|
209
|
+
* Contributions from [Jakub Stastny](http://github.com/botanicus) are Copyright (c) 2011 VMware, Inc.
|
210
|
+
* Copyright (c) 2010 — 2011 [ruby-amqp](https://github.com/ruby-amqp) group members.
|
219
211
|
|
220
212
|
Currently maintained by [ruby-amqp](https://github.com/ruby-amqp) group members
|
221
213
|
Special thanks to Dmitriy Samovskiy, Ben Hood and Tony Garnock-Jones.
|
@@ -225,7 +217,7 @@ Special thanks to Dmitriy Samovskiy, Ben Hood and Tony Garnock-Jones.
|
|
225
217
|
|
226
218
|
### AMQP resources ###
|
227
219
|
|
228
|
-
* [AMQP 0.9.1 Model Explained](http://
|
220
|
+
* [AMQP 0.9.1 Model Explained](http://bit.ly/amqp-model-explained)
|
229
221
|
* [RabbitMQ tutorials](http://www.rabbitmq.com/getstarted.html) that demonstrate interoperability
|
230
222
|
* [Wikipedia page on AMQP](http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol)
|
231
223
|
* [AMQP quick reference](http://www.rabbitmq.com/amqp-0-9-1-quickref.html)
|
@@ -234,6 +226,7 @@ Special thanks to Dmitriy Samovskiy, Ben Hood and Tony Garnock-Jones.
|
|
234
226
|
### Messaging and distributed systems resources ###
|
235
227
|
|
236
228
|
* [Enterprise Integration Patterns](http://www.eaipatterns.com), a book about messaging and use of messaging in systems integration.
|
229
|
+
|
237
230
|
* [A Critique of the Remote Procedure Call Paradigm](http://www.cs.vu.nl/~ast/publications/euteco-1988.pdf)
|
238
231
|
* [A Note on Distributed Computing](http://research.sun.com/techrep/1994/smli_tr-94-29.pdf)
|
239
232
|
* [Convenience Over Correctness](http://steve.vinoski.net/pdf/IEEE-Convenience_Over_Correctness.pdf)
|
@@ -243,28 +236,26 @@ Special thanks to Dmitriy Samovskiy, Ben Hood and Tony Garnock-Jones.
|
|
243
236
|
|
244
237
|
## (Very) Short FAQ ##
|
245
238
|
|
246
|
-
### So, does amqp gem only work with RabbitMQ?
|
239
|
+
### So, does amqp gem only work with RabbitMQ? ###
|
247
240
|
|
248
241
|
This library is developed and tested primarily with [RabbitMQ](http://rabbitmq.com), although it should be compatible with any
|
249
242
|
server implementing the [AMQP 0.9.1 spec](http://bit.ly/hw2ELX). For AMQP 0.8 brokers, use amqp gem version 0.7.x.
|
250
243
|
|
251
|
-
### Why isn't Ruby 1.8.7
|
244
|
+
### Why isn't Ruby 1.8.7.-p249 supported? Will it be supported in the future? ###
|
252
245
|
|
253
246
|
In order to make code like the following (pseudo-synchronous) work
|
254
247
|
|
255
|
-
|
256
|
-
|
257
|
-
ch = AMQP::Channel.new(conn)
|
248
|
+
conn = AMQP.connect
|
249
|
+
ch = AMQP::Channel.new(conn)
|
258
250
|
|
259
|
-
ex = ch.default_exchange
|
260
|
-
ex.publish(some_data)
|
261
|
-
```
|
251
|
+
ex = ch.default_exchange
|
252
|
+
ex.publish(some_data)
|
262
253
|
|
263
254
|
and not be affected by this [Ruby 1.8.7-p249-specific bug (super called outside of method)](http://bit.ly/iONBmH), we need to
|
264
255
|
avoid any inheritance for key amqp gem classes: Channel, Queue, Exchange, Consumer. This will take a significant refactoring effort and
|
265
256
|
we do not expect this to change at this time.
|
266
257
|
|
267
258
|
|
268
|
-
### How does amqp gem relate to amq-client gem, amq-protocol and libraries like
|
259
|
+
### How does amqp gem relate to amq-client gem, amq-protocol and libraries like bunny? ###
|
269
260
|
|
270
261
|
See [this page about AMQP gems family](https://github.com/ruby-amqp/amq-client/blob/master/README.textile)
|
data/amqp.gemspec
CHANGED
@@ -8,11 +8,12 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.name = "amqp"
|
9
9
|
s.version = AMQP::VERSION
|
10
10
|
s.authors = ["Aman Gupta", "Jakub Stastny aka botanicus", "Michael S. Klishin"]
|
11
|
-
s.homepage = "http://
|
12
|
-
s.summary = "Widely used, feature-rich asynchronous
|
11
|
+
s.homepage = "http://github.com/ruby-amqp/amqp"
|
12
|
+
s.summary = "Widely used, feature-rich asynchronous AMQP 0.9.1 client with batteries included"
|
13
13
|
# RubyGems will emit warnings if summary is the same as description. I have no idea why but lets trick it. MK.
|
14
|
-
s.description = "Widely used, feature-rich asynchronous AMQP
|
14
|
+
s.description = "Widely used, feature-rich asynchronous AMQP 0.9.1 client with batteries included."
|
15
15
|
s.email = ["bWljaGFlbEBub3ZlbWJlcmFpbi5jb20=\n", "c3Rhc3RueUAxMDFpZGVhcy5jeg==\n"].map { |i| Base64.decode64(i) }
|
16
|
+
s.licenses = ["Ruby"]
|
16
17
|
|
17
18
|
# files
|
18
19
|
s.files = `git ls-files`.split("\n").reject { |file| file =~ /^vendor\// || file =~ /^gemfiles\// }
|
@@ -23,8 +24,16 @@ Gem::Specification.new do |s|
|
|
23
24
|
|
24
25
|
# Dependencies
|
25
26
|
s.add_dependency "eventmachine"
|
26
|
-
s.add_dependency "amq-client", "~> 0.
|
27
|
-
s.add_dependency "amq-protocol", "~> 1.
|
27
|
+
s.add_dependency "amq-client", "~> 1.0.0.pre1"
|
28
|
+
s.add_dependency "amq-protocol", "~> 1.0.0.pre1"
|
28
29
|
|
30
|
+
begin
|
31
|
+
require "changelog"
|
32
|
+
s.post_install_message = CHANGELOG.new.version_changes
|
33
|
+
rescue LoadError
|
34
|
+
# warn "You have to have changelog gem installed for post install message"
|
35
|
+
end
|
36
|
+
|
37
|
+
# RubyForge
|
29
38
|
s.rubyforge_project = "amqp"
|
30
39
|
end
|
data/docs/08Migration.textile
CHANGED
@@ -2,11 +2,6 @@
|
|
2
2
|
|
3
3
|
h1. AMQP 0.9.1 Model Explained
|
4
4
|
|
5
|
-
h2. This Documentation Has Moved to rubyamqp.info
|
6
|
-
|
7
|
-
amqp gem documentation guides are now hosted on "rubyamqp.info":http://rubyamqp.info.
|
8
|
-
|
9
|
-
|
10
5
|
h2. About this guide
|
11
6
|
|
12
7
|
This guide explains the AMQP 0.9.1 Model used by RabbitMQ. Understanding the AMQP Model will make a lot of other documentation, both for the Ruby amqp gem and
|
data/docs/Bindings.textile
CHANGED
@@ -2,10 +2,6 @@
|
|
2
2
|
|
3
3
|
h1. Working With Bindings
|
4
4
|
|
5
|
-
h2. This Documentation Has Moved to rubyamqp.info
|
6
|
-
|
7
|
-
amqp gem documentation guides are now hosted on "rubyamqp.info":http://rubyamqp.info.
|
8
|
-
|
9
5
|
h2. About this guide
|
10
6
|
|
11
7
|
This guide covers bindings in AMQP 0.9.1, what they are, what role do they play and how to accomplish typical operations using
|
data/docs/Clustering.textile
CHANGED
@@ -2,10 +2,6 @@
|
|
2
2
|
|
3
3
|
h1. Connecting to the broker, integrating with Ruby on Rails, Merb and Sinatra
|
4
4
|
|
5
|
-
h2. This Documentation Has Moved to rubyamqp.info
|
6
|
-
|
7
|
-
amqp gem documentation guides are now hosted on "rubyamqp.info":http://rubyamqp.info.
|
8
|
-
|
9
5
|
|
10
6
|
h2. About this guide
|
11
7
|
|
@@ -360,7 +356,7 @@ end
|
|
360
356
|
</code>
|
361
357
|
</pre>
|
362
358
|
|
363
|
-
In case you are wondering why the callback name has "possible" in it, {http://bit.ly/
|
359
|
+
In case you are wondering why the callback name has "possible" in it, {http://bit.ly/amqp091spec AMQP 0.9.1 spec} requires broker implementations to
|
364
360
|
simply close the TCP connection without sending any more data when an exception, such as authentication failure, occurs before the AMQP connection
|
365
361
|
is open. In practice, however, when a broker closes a TCP connection after a successful TCP connection has been established but before an AMQP connection is open,
|
366
362
|
it means that authentication has failed.
|
@@ -2,10 +2,6 @@
|
|
2
2
|
|
3
3
|
h1. Ruby AMQP gem documentation guides
|
4
4
|
|
5
|
-
h2. This Documentation Has Moved to rubyamqp.info
|
6
|
-
|
7
|
-
amqp gem documentation guides are now hosted on "rubyamqp.info":http://rubyamqp.info.
|
8
|
-
|
9
5
|
h2. Which versions of the amqp gem do the guides cover?
|
10
6
|
|
11
7
|
These guides cover v0.8.0.RC14 and later of the "Ruby amqp gem":http://github.com/ruby-amqp/amqp.
|