amqp 0.9.10 → 1.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/.travis.yml +0 -3
  2. data/CHANGELOG +4 -0
  3. data/Gemfile +1 -0
  4. data/README.md +72 -81
  5. data/amqp.gemspec +14 -5
  6. data/docs/08Migration.textile +0 -4
  7. data/docs/AMQP091ModelExplained.textile +0 -5
  8. data/docs/Bindings.textile +0 -4
  9. data/docs/Clustering.textile +0 -4
  10. data/docs/ConnectingToTheBroker.textile +1 -5
  11. data/docs/ConnectionEncryptionWithTLS.textile +0 -4
  12. data/docs/DocumentationGuidesIndex.textile +0 -4
  13. data/docs/Durability.textile +0 -4
  14. data/docs/ErrorHandling.textile +40 -106
  15. data/docs/Exchanges.textile +0 -4
  16. data/docs/GettingStarted.textile +6 -10
  17. data/docs/PatternsAndUseCases.textile +1 -4
  18. data/docs/Queues.textile +0 -4
  19. data/docs/RabbitMQVersions.textile +0 -4
  20. data/docs/RunningTests.textile +0 -4
  21. data/docs/TestingWithEventedSpec.textile +0 -4
  22. data/docs/Troubleshooting.textile +0 -4
  23. data/docs/VendorSpecificExtensions.textile +0 -4
  24. data/examples/error_handling/hello_world_producer.rb +1 -1
  25. data/examples/issues/issue_121.rb +23 -0
  26. data/examples/patterns/request_reply/client.rb +2 -1
  27. data/examples/patterns/request_reply/server.rb +1 -0
  28. data/examples/publishing/returned_messages.rb +1 -1
  29. data/lib/amqp.rb +0 -7
  30. data/lib/amqp/channel.rb +15 -33
  31. data/lib/amqp/client.rb +2 -2
  32. data/lib/amqp/compatibility/ruby187_patchlevel_check.rb +4 -4
  33. data/lib/amqp/connection.rb +0 -1
  34. data/lib/amqp/consumer.rb +2 -2
  35. data/lib/amqp/exceptions.rb +1 -10
  36. data/lib/amqp/exchange.rb +5 -5
  37. data/lib/amqp/queue.rb +23 -47
  38. data/lib/amqp/session.rb +4 -4
  39. data/lib/amqp/version.rb +1 -1
  40. data/spec/integration/basic_get_spec.rb +24 -80
  41. data/spec/integration/basic_return_spec.rb +3 -3
  42. data/spec/integration/channel_level_exception_with_multiple_channels_spec.rb +1 -0
  43. data/spec/integration/exchange_declaration_spec.rb +102 -71
  44. data/spec/integration/extensions/rabbitmq/publisher_confirmations_spec.rb +17 -1
  45. data/spec/integration/fanout_exchange_routing_spec.rb +1 -1
  46. data/spec/integration/immediate_messages_spec.rb +59 -0
  47. data/spec/integration/multiple_consumers_per_queue_spec.rb +101 -39
  48. data/spec/integration/queue_redeclaration_with_incompatible_attributes_spec.rb +12 -25
  49. data/spec/integration/regressions/concurrent_publishing_on_the_same_channel_spec.rb +1 -1
  50. data/spec/integration/reply_queue_communication_spec.rb +2 -1
  51. data/spec/integration/store_and_forward_spec.rb +9 -6
  52. data/spec/integration/topic_subscription_spec.rb +4 -5
  53. data/spec/spec_helper.rb +2 -8
  54. data/spec/unit/amqp/connection_spec.rb +1 -3
  55. metadata +112 -116
  56. data/examples/deprecated/default_thread_local_channel_instance.rb +0 -34
  57. data/examples/legacy/ack.rb +0 -70
  58. data/examples/legacy/callbacks.rb +0 -45
  59. data/examples/legacy/clock.rb +0 -74
  60. data/examples/legacy/hashtable.rb +0 -60
  61. data/examples/legacy/logger.rb +0 -92
  62. data/examples/legacy/multiclock.rb +0 -56
  63. data/examples/legacy/pingpong.rb +0 -51
  64. data/examples/legacy/primes-simple.rb +0 -29
  65. data/examples/legacy/primes.rb +0 -74
  66. data/examples/legacy/stocks.rb +0 -59
  67. data/lib/amqp/deprecated/fork.rb +0 -17
  68. data/lib/amqp/deprecated/logger.rb +0 -100
  69. data/lib/amqp/deprecated/mq.rb +0 -22
  70. data/lib/amqp/deprecated/rpc.rb +0 -169
  71. data/lib/amqp/ext/em.rb +0 -3
  72. data/lib/amqp/ext/emfork.rb +0 -72
  73. data/lib/amqp/logger.rb +0 -19
  74. data/lib/amqp/rpc.rb +0 -20
  75. data/lib/mq.rb +0 -35
  76. data/lib/mq/logger.rb +0 -4
  77. data/lib/mq/rpc.rb +0 -4
  78. data/spec/integration/remove_individual_binding_spec.rb +0 -51
@@ -43,6 +43,3 @@ matrix:
43
43
  gemfile: gemfiles/eventmachine-pre
44
44
  - rvm: 1.9.2
45
45
  gemfile: Gemfile
46
-
47
- services:
48
- - rabbitmq
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ = Version 1.0.0
2
+
3
+ * [API] All public API bits deprecated in 0.8.0 are COMPLETELY REMOVED
4
+
1
5
  = Version 0.9.0 to 0.9.4
2
6
 
3
7
  * [BUG] A couple of concurrency issues (race conditions) fixed for apps that actively close and/or reuse channels
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: the asynchronous Ruby RabbitMQ client
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://www.rabbitmq.com/tutorials/amqp-concepts.html) (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).
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
+ [![Continuous Integration status](https://secure.travis-ci.org/ruby-amqp/amqp.png?branch=master)](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://rubyamqp.info/articles/getting_started/) and other [amqp gem documentation guides](http://rubyamqp.info/).
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
- ``` ruby
83
- #!/usr/bin/env ruby
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
- connection = AMQP.connect(:host => '127.0.0.1')
98
- puts "Connecting to AMQP broker. Running #{AMQP::VERSION} version of the gem..."
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
- channel = AMQP::Channel.new(connection)
101
- queue = channel.queue("amqpgem.examples.hello_world", :auto_delete => true)
102
- exchange = channel.default_exchange
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
- queue.subscribe do |payload|
105
- puts "Received a message: #{payload}. Disconnecting..."
104
+ queue.subscribe do |payload|
105
+ puts "Received a message: #{payload}. Disconnecting..."
106
106
 
107
- connection.close {
108
- EventMachine.stop { exit }
109
- }
110
- end
107
+ connection.close {
108
+ EventMachine.stop { exit }
109
+ }
110
+ end
111
111
 
112
- exchange.publish "Hello, world!", :routing_key => queue.name
113
- end
114
- ```
112
+ exchange.publish "Hello, world!", :routing_key => queue.name
113
+ end
115
114
 
116
115
 
117
- [Getting started guide](http://rubyamqp.info/articles/getting_started/) explains this and two more examples in detail,
118
- and is written in a form of a tutorial. See [AMQP Model Explained](http://www.rabbitmq.com/tutorials/amqp-concepts.html) if you want
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://rubyamqp.info/articles/getting_started/) is written as a tutorial that walks you through
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 Concepts](http://www.rabbitmq.com/tutorials/amqp-concepts.html) will introduce you to protocol concepts
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
- ### Guides
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://rubyamqp.info/articles/patterns_and_use_cases/) documentation guide.
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
- ### API reference
151
+ ### Documentation guides ###
158
152
 
159
- ## How to use AMQP gem with Ruby on Rails, Sinatra and other Web frameworks ##
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
- ## How to use AMQP gem with Ruby on Rails, Sinatra and other Web frameworks
157
+ ### API reference ###
165
158
 
166
- We cover Web application integration for multiple Ruby Web servers in [Connecting to the broker guide](http://rubyamqp.info/articles/connecting_to_broker/).
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
- ## Community
163
+ ## How to use AMQP gem with Ruby on Rails, Merb, Sinatra and other web frameworks ##
171
164
 
172
- * Join also [RabbitMQ mailing list](https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss) (the AMQP community epicenter).
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
- [![Continuous Integration status](https://secure.travis-ci.org/ruby-amqp/amqp.png?branch=master)](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://rubyamqp.info/articles/08_migration/).
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
- ## Continuous Integration
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
- [![Continuous Integration status](https://secure.travis-ci.org/ruby-amqp/amqp.png?branch=master)](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://rubyamqp.info)
201
- * [Code Examples](https://github.com/ruby-amqp/amqp/tree/master/examples)
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-2012 VMware, Inc.
218
- * Copyright (c) 2010 — 2012 [ruby-amqp](https://github.com/ruby-amqp) group members.
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://www.rabbitmq.com/tutorials/amqp-concepts.html)
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-p249 supported? Will it be supported in the future?
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
- ``` ruby
256
- conn = AMQP.connect
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 Bunny?
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)
@@ -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://rubyamqp.info"
12
- s.summary = "Widely used, feature-rich asynchronous RabbitMQ client with batteries included"
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 RabbitMQ client with batteries included."
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.9.12"
27
- s.add_dependency "amq-protocol", "~> 1.2.0"
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
@@ -2,10 +2,6 @@
2
2
 
3
3
  h1. amqp gem 0.8 migration guide
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
 
@@ -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
@@ -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
@@ -2,10 +2,6 @@
2
2
 
3
3
  h1. Clustering
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
 
@@ -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/mTr1YN AMQP 0.9.1 spec} requires broker implementations to
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. Using TLS with Ruby amqp gem
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
 
@@ -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.