bunny 0.7.12 → 0.8.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.
Files changed (59) hide show
  1. data/.gitignore +2 -2
  2. data/.travis.yml +7 -16
  3. data/CHANGELOG +3 -21
  4. data/Gemfile +2 -4
  5. data/README.textile +31 -9
  6. data/Rakefile +3 -3
  7. data/bunny.gemspec +6 -3
  8. data/examples/{simple_08.rb → simple.rb} +1 -1
  9. data/examples/{simple_ack_08.rb → simple_ack.rb} +1 -1
  10. data/examples/{simple_consumer_08.rb → simple_consumer.rb} +4 -4
  11. data/examples/{simple_fanout_08.rb → simple_fanout.rb} +1 -1
  12. data/examples/{simple_headers_08.rb → simple_headers.rb} +2 -2
  13. data/examples/{simple_publisher_09.rb → simple_publisher.rb} +1 -1
  14. data/examples/{simple_topic_09.rb → simple_topic.rb} +2 -2
  15. data/ext/amqp-0.9.1.json +1 -0
  16. data/ext/config.yml +3 -3
  17. data/ext/qparser.rb +9 -52
  18. data/lib/bunny.rb +15 -33
  19. data/lib/bunny/{channel08.rb → channel.rb} +0 -0
  20. data/lib/bunny/{client09.rb → client.rb} +34 -46
  21. data/lib/bunny/{exchange09.rb → exchange.rb} +16 -15
  22. data/lib/bunny/{queue09.rb → queue.rb} +26 -23
  23. data/lib/bunny/{subscription09.rb → subscription.rb} +11 -6
  24. data/lib/bunny/version.rb +1 -1
  25. data/lib/qrack/client.rb +30 -21
  26. data/lib/qrack/protocol/{protocol08.rb → protocol.rb} +2 -1
  27. data/lib/qrack/protocol/{spec09.rb → spec.rb} +8 -7
  28. data/lib/qrack/{qrack08.rb → qrack.rb} +4 -4
  29. data/lib/qrack/subscription.rb +58 -9
  30. data/lib/qrack/transport/{buffer08.rb → buffer.rb} +8 -0
  31. data/lib/qrack/transport/{frame08.rb → frame.rb} +7 -22
  32. data/spec/spec_09/bunny_spec.rb +10 -8
  33. data/spec/spec_09/connection_spec.rb +8 -3
  34. data/spec/spec_09/exchange_spec.rb +22 -19
  35. data/spec/spec_09/queue_spec.rb +32 -18
  36. metadata +69 -76
  37. checksums.yaml +0 -7
  38. data/examples/simple_09.rb +0 -32
  39. data/examples/simple_ack_09.rb +0 -35
  40. data/examples/simple_consumer_09.rb +0 -55
  41. data/examples/simple_fanout_09.rb +0 -41
  42. data/examples/simple_headers_09.rb +0 -42
  43. data/examples/simple_publisher_08.rb +0 -29
  44. data/examples/simple_topic_08.rb +0 -61
  45. data/ext/amqp-0.8.json +0 -616
  46. data/lib/bunny/channel09.rb +0 -39
  47. data/lib/bunny/client08.rb +0 -480
  48. data/lib/bunny/exchange08.rb +0 -177
  49. data/lib/bunny/queue08.rb +0 -403
  50. data/lib/bunny/subscription08.rb +0 -87
  51. data/lib/qrack/protocol/protocol09.rb +0 -135
  52. data/lib/qrack/protocol/spec08.rb +0 -828
  53. data/lib/qrack/qrack09.rb +0 -20
  54. data/lib/qrack/transport/buffer09.rb +0 -305
  55. data/lib/qrack/transport/frame09.rb +0 -97
  56. data/spec/spec_08/bunny_spec.rb +0 -75
  57. data/spec/spec_08/connection_spec.rb +0 -24
  58. data/spec/spec_08/exchange_spec.rb +0 -170
  59. data/spec/spec_08/queue_spec.rb +0 -239
@@ -7,17 +7,17 @@ require "bunny"
7
7
  describe Bunny do
8
8
 
9
9
  it "should raise an error if the wrong user name or password is used" do
10
- b = Bunny.new(:spec => '0.9', :user => 'wrong')
10
+ b = Bunny.new(:user => 'wrong')
11
11
  lambda { b.start}.should raise_error(Bunny::ProtocolError)
12
12
  end
13
13
 
14
14
  it "should merge custom settings from AMQP URL with default settings" do
15
- b = Bunny.new("amqp://tagadab", :spec => "0.9")
15
+ b = Bunny.new("amqp://tagadab")
16
16
  b.host.should eql("tagadab")
17
17
  end
18
18
 
19
19
  it "should be able to open a TCPSocket with a timeout" do
20
- b = Bunny.new(:spec => "0.9")
20
+ b = Bunny.new
21
21
  connect_timeout = 5
22
22
  lambda {
23
23
  Bunny::Timer::timeout(connect_timeout, Qrack::ConnectionTimeout) do
@@ -26,4 +26,9 @@ describe Bunny do
26
26
  }.should_not raise_error(Exception)
27
27
  end
28
28
 
29
+ it "should know the default port of a SSL connection" do
30
+ b = Bunny.new(:ssl => true)
31
+ b.port.should eql(5671)
32
+ end
33
+
29
34
  end
@@ -13,7 +13,7 @@ require "bunny"
13
13
  describe 'Exchange' do
14
14
 
15
15
  before(:each) do
16
- @b = Bunny.new(:spec => '09')
16
+ @b = Bunny.new
17
17
  @b.start
18
18
  end
19
19
 
@@ -33,7 +33,7 @@ describe 'Exchange' do
33
33
 
34
34
  it "should allow a default direct exchange to be instantiated by specifying :type" do
35
35
  exch = @b.exchange('amq.direct', :type => :direct)
36
- exch.should be_an_instance_of(Bunny::Exchange09)
36
+ exch.should be_an_instance_of(Bunny::Exchange)
37
37
  exch.name.should == 'amq.direct'
38
38
  exch.type.should == :direct
39
39
  @b.exchanges.has_key?('amq.direct').should be(true)
@@ -41,7 +41,7 @@ describe 'Exchange' do
41
41
 
42
42
  it "should allow a default direct exchange to be instantiated without specifying :type" do
43
43
  exch = @b.exchange('amq.direct')
44
- exch.should be_an_instance_of(Bunny::Exchange09)
44
+ exch.should be_an_instance_of(Bunny::Exchange)
45
45
  exch.name.should == 'amq.direct'
46
46
  exch.type.should == :direct
47
47
  @b.exchanges.has_key?('amq.direct').should be(true)
@@ -49,7 +49,7 @@ describe 'Exchange' do
49
49
 
50
50
  it "should allow a default fanout exchange to be instantiated without specifying :type" do
51
51
  exch = @b.exchange('amq.fanout')
52
- exch.should be_an_instance_of(Bunny::Exchange09)
52
+ exch.should be_an_instance_of(Bunny::Exchange)
53
53
  exch.name.should == 'amq.fanout'
54
54
  exch.type.should == :fanout
55
55
  @b.exchanges.has_key?('amq.fanout').should be(true)
@@ -57,7 +57,7 @@ describe 'Exchange' do
57
57
 
58
58
  it "should allow a default topic exchange to be instantiated without specifying :type" do
59
59
  exch = @b.exchange('amq.topic')
60
- exch.should be_an_instance_of(Bunny::Exchange09)
60
+ exch.should be_an_instance_of(Bunny::Exchange)
61
61
  exch.name.should == 'amq.topic'
62
62
  exch.type.should == :topic
63
63
  @b.exchanges.has_key?('amq.topic').should be(true)
@@ -65,7 +65,7 @@ describe 'Exchange' do
65
65
 
66
66
  it "should allow a default headers (amq.match) exchange to be instantiated without specifying :type" do
67
67
  exch = @b.exchange('amq.match')
68
- exch.should be_an_instance_of(Bunny::Exchange09)
68
+ exch.should be_an_instance_of(Bunny::Exchange)
69
69
  exch.name.should == 'amq.match'
70
70
  exch.type.should == :headers
71
71
  @b.exchanges.has_key?('amq.match').should be(true)
@@ -73,7 +73,7 @@ describe 'Exchange' do
73
73
 
74
74
  it "should allow a default headers (amq.headers) exchange to be instantiated without specifying :type" do
75
75
  exch = @b.exchange('amq.headers')
76
- exch.should be_an_instance_of(Bunny::Exchange09)
76
+ exch.should be_an_instance_of(Bunny::Exchange)
77
77
  exch.name.should == 'amq.headers'
78
78
  exch.type.should == :headers
79
79
  @b.exchanges.has_key?('amq.headers').should be(true)
@@ -81,7 +81,7 @@ describe 'Exchange' do
81
81
 
82
82
  it "should create an exchange as direct by default" do
83
83
  exch = @b.exchange('direct_defaultex')
84
- exch.should be_an_instance_of(Bunny::Exchange09)
84
+ exch.should be_an_instance_of(Bunny::Exchange)
85
85
  exch.name.should == 'direct_defaultex'
86
86
  exch.type.should == :direct
87
87
  @b.exchanges.has_key?('direct_defaultex').should be(true)
@@ -89,7 +89,7 @@ describe 'Exchange' do
89
89
 
90
90
  it "should be able to be instantiated as a direct exchange" do
91
91
  exch = @b.exchange('direct_exchange', :type => :direct)
92
- exch.should be_an_instance_of(Bunny::Exchange09)
92
+ exch.should be_an_instance_of(Bunny::Exchange)
93
93
  exch.name.should == 'direct_exchange'
94
94
  exch.type.should == :direct
95
95
  @b.exchanges.has_key?('direct_exchange').should be(true)
@@ -97,7 +97,7 @@ describe 'Exchange' do
97
97
 
98
98
  it "should be able to be instantiated as a topic exchange" do
99
99
  exch = @b.exchange('topic_exchange', :type => :topic)
100
- exch.should be_an_instance_of(Bunny::Exchange09)
100
+ exch.should be_an_instance_of(Bunny::Exchange)
101
101
  exch.name.should == 'topic_exchange'
102
102
  exch.type.should == :topic
103
103
  @b.exchanges.has_key?('topic_exchange').should be(true)
@@ -105,7 +105,7 @@ describe 'Exchange' do
105
105
 
106
106
  it "should be able to be instantiated as a fanout exchange" do
107
107
  exch = @b.exchange('fanout_exchange', :type => :fanout)
108
- exch.should be_an_instance_of(Bunny::Exchange09)
108
+ exch.should be_an_instance_of(Bunny::Exchange)
109
109
  exch.name.should == 'fanout_exchange'
110
110
  exch.type.should == :fanout
111
111
  @b.exchanges.has_key?('fanout_exchange').should be(true)
@@ -113,7 +113,7 @@ describe 'Exchange' do
113
113
 
114
114
  it "should be able to be instantiated as a headers exchange" do
115
115
  exch = @b.exchange('headers_exchange', :type => :headers)
116
- exch.should be_an_instance_of(Bunny::Exchange09)
116
+ exch.should be_an_instance_of(Bunny::Exchange)
117
117
  exch.name.should == 'headers_exchange'
118
118
  exch.type.should == :headers
119
119
  @b.exchanges.has_key?('headers_exchange').should be(true)
@@ -137,22 +137,25 @@ describe 'Exchange' do
137
137
 
138
138
  it "should be able to return an undeliverable message" do
139
139
  exch = @b.exchange('return_exch')
140
- exch.publish('This message should be undeliverable', :mandatory => true)
140
+ exch.publish('This message should be undeliverable', :immediate => true)
141
141
  ret_msg = @b.returned_message
142
142
  ret_msg.should be_an_instance_of(Hash)
143
143
  ret_msg[:payload].should == 'This message should be undeliverable'
144
144
  end
145
145
 
146
- it "should be able to handle connection close on trying to publish with immediate=true" do
146
+ it "should be able to return a message that exceeds maximum frame size" do
147
147
  exch = @b.exchange('return_exch')
148
- exch.publish('This message should force a connection close', :immediate => true)
149
- lambda { @b.returned_message }.should raise_error(Bunny::ForcedConnectionCloseError)
148
+ lg_msg = 'z' * 142000
149
+ exch.publish(lg_msg, :immediate => true)
150
+ ret_msg = @b.returned_message
151
+ ret_msg.should be_an_instance_of(Hash)
152
+ ret_msg[:payload].should == lg_msg
150
153
  end
151
154
 
152
- it "should not close the connection when trying to delete a non existent exchange" do
155
+ it "should report an error if delete fails" do
153
156
  exch = @b.exchange('direct_exchange')
154
- exch.delete(:exchange => 'bogus_ex').should == :delete_ok
155
- @b.channel.active.should == true
157
+ lambda { exch.delete(:exchange => 'bogus_ex') }.should raise_error(Bunny::ForcedChannelCloseError)
158
+ @b.channel.active.should == false
156
159
  end
157
160
 
158
161
  it "should be able to be deleted" do
@@ -13,7 +13,7 @@ require "bunny"
13
13
  describe 'Queue' do
14
14
 
15
15
  before(:each) do
16
- @b = Bunny.new(:spec => '09')
16
+ @b = Bunny.new
17
17
  @b.start
18
18
 
19
19
  @default_exchange = @b.exchange("")
@@ -61,10 +61,10 @@ describe 'Queue' do
61
61
  q.unbind(exch, :nowait => true).should == :unbind_ok
62
62
  end
63
63
 
64
- it "should not raise an error if unbinding from a non-existent exchange" do
64
+ it "should raise an error if unbinding from a non-existent exchange" do
65
65
  q = @b.queue('test1')
66
- q.unbind('bogus').should == :unbind_ok
67
- @b.channel.active.should == true
66
+ lambda {q.unbind('bogus')}.should raise_error(Bunny::ForcedChannelCloseError)
67
+ @b.channel.active.should == false
68
68
  end
69
69
 
70
70
  it "should be able to unbind from an exchange" do
@@ -78,12 +78,24 @@ describe 'Queue' do
78
78
  @default_exchange.publish('This is a test message', :key => 'test1')
79
79
  msg = q.pop()
80
80
  msg.should be_an_instance_of(Hash)
81
- msg[:header].should be_an_instance_of(Bunny::Protocol09::Header)
81
+ msg[:header].should be_an_instance_of(Bunny::Protocol::Header)
82
82
  msg[:payload].should == 'This is a test message'
83
83
  msg[:delivery_details].should be_an_instance_of(Hash)
84
84
  message_count(q).should == 0
85
85
  end
86
86
 
87
+ it "should be able to send reply_to, correlation_id and user_id headers " do
88
+ q = @b.queue('test1')
89
+ @default_exchange.publish('This is a test message', :key => 'test1',
90
+ :reply_to => 'test_reply_to',
91
+ :correlation_id => '987654',
92
+ :user_id => 'guest')
93
+ msg = q.pop()
94
+ msg[:header].properties[:reply_to].should == 'test_reply_to'
95
+ msg[:header].properties[:correlation_id].should == '987654'
96
+ msg[:header].properties[:user_id].should == 'guest'
97
+ end
98
+
87
99
  it "should be able to pop a message and just get the payload" do
88
100
  q = @b.queue('test1')
89
101
  @default_exchange.publish('This is another test message', :key => 'test1')
@@ -100,15 +112,6 @@ describe 'Queue' do
100
112
  msg.should == lg_msg
101
113
  end
102
114
 
103
- it "should be able to send and receive messages where body length is an exact multiple of frame_max minus framing bytes" do
104
- limit = @b.frame_max-8
105
- q = @b.queue('test1')
106
- lg_msg = 'a' * (5*limit)
107
- @default_exchange.publish(lg_msg, :key => 'test1')
108
- msg = q.pop[:payload]
109
- msg.should == lg_msg
110
- end
111
-
112
115
  it "should be able call a block when popping a message" do
113
116
  q = @b.queue('test1')
114
117
  @default_exchange.publish('This is another test message', :key => 'test1')
@@ -164,10 +167,10 @@ describe 'Queue' do
164
167
  q.purge.should == :purge_ok
165
168
  end
166
169
 
167
- it "should not close the connections when deleting a non existent queue" do
170
+ it "should raise an error when delete fails" do
168
171
  q = @b.queue('test1')
169
- q.delete(:queue => 'bogus').should == :delete_ok
170
- @b.channel.active.should == true
172
+ lambda {q.delete(:queue => 'bogus')}.should raise_error(Bunny::ForcedChannelCloseError)
173
+ @b.channel.active.should == false
171
174
  end
172
175
 
173
176
  it "should pass correct block parameters through on subscribe" do
@@ -175,7 +178,7 @@ describe 'Queue' do
175
178
  @default_exchange.publish("messages pop'n", :key => 'test1')
176
179
 
177
180
  q.subscribe do |msg|
178
- msg[:header].should be_an_instance_of Qrack::Protocol09::Header
181
+ msg[:header].should be_an_instance_of Qrack::Protocol::Header
179
182
  msg[:payload].should == "messages pop'n"
180
183
  msg[:delivery_details].should_not be_nil
181
184
 
@@ -183,6 +186,17 @@ describe 'Queue' do
183
186
  break
184
187
  end
185
188
  end
189
+
190
+ specify "subscribe method should support cancellation through a cancellator IO object" do
191
+ q = @b.queue('test1')
192
+ a, b = IO.pipe
193
+ b.close
194
+ block_called = false
195
+ q.subscribe(:cancellator => a) do |msg|
196
+ block_called = true
197
+ end
198
+ block_called.should be_false
199
+ end
186
200
 
187
201
  it "should finish processing subscription messages if break is called in block" do
188
202
  q = @b.queue('test1')
metadata CHANGED
@@ -1,9 +1,15 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bunny
3
- version: !ruby/object:Gem::Version
4
- version: 0.7.12
3
+ version: !ruby/object:Gem::Version
4
+ hash: 63
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 8
9
+ - 0
10
+ version: 0.8.0
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Chris Duncan
8
14
  - Eric Lindvall
9
15
  - Jakub Stastny aka botanicus
@@ -12,120 +18,107 @@ authors:
12
18
  autorequire:
13
19
  bindir: bin
14
20
  cert_chain: []
15
- date: 2019-02-27 00:00:00.000000000 Z
21
+
22
+ date: 2012-06-23 00:00:00 Z
16
23
  dependencies: []
17
- description: A synchronous Ruby AMQP client that enables interaction with AMQP-compliant
18
- brokers.
19
- email:
24
+
25
+ description: A synchronous Ruby AMQP client that enables interaction with AMQP-compliant brokers.
26
+ email:
20
27
  - celldee@gmail.com
21
28
  - eric@5stops.com
22
29
  - stastny@101ideas.cz
23
30
  - michael@novemberain.com
24
31
  - skaes@railsexpress.de
25
32
  executables: []
33
+
26
34
  extensions: []
27
- extra_rdoc_files:
35
+
36
+ extra_rdoc_files:
28
37
  - README.textile
29
- files:
30
- - ".gitignore"
31
- - ".rspec"
32
- - ".travis.yml"
33
- - ".yardopts"
38
+ files:
39
+ - .gitignore
40
+ - .rspec
41
+ - .travis.yml
42
+ - .yardopts
34
43
  - CHANGELOG
35
44
  - Gemfile
36
45
  - LICENSE
37
46
  - README.textile
38
47
  - Rakefile
39
48
  - bunny.gemspec
40
- - examples/simple_08.rb
41
- - examples/simple_09.rb
42
- - examples/simple_ack_08.rb
43
- - examples/simple_ack_09.rb
44
- - examples/simple_consumer_08.rb
45
- - examples/simple_consumer_09.rb
46
- - examples/simple_fanout_08.rb
47
- - examples/simple_fanout_09.rb
48
- - examples/simple_headers_08.rb
49
- - examples/simple_headers_09.rb
50
- - examples/simple_publisher_08.rb
51
- - examples/simple_publisher_09.rb
52
- - examples/simple_topic_08.rb
53
- - examples/simple_topic_09.rb
54
- - ext/amqp-0.8.json
49
+ - examples/simple.rb
50
+ - examples/simple_ack.rb
51
+ - examples/simple_consumer.rb
52
+ - examples/simple_fanout.rb
53
+ - examples/simple_headers.rb
54
+ - examples/simple_publisher.rb
55
+ - examples/simple_topic.rb
55
56
  - ext/amqp-0.9.1.json
56
57
  - ext/config.yml
57
58
  - ext/qparser.rb
58
59
  - lib/bunny.rb
59
- - lib/bunny/channel08.rb
60
- - lib/bunny/channel09.rb
61
- - lib/bunny/client08.rb
62
- - lib/bunny/client09.rb
60
+ - lib/bunny/channel.rb
61
+ - lib/bunny/client.rb
63
62
  - lib/bunny/consumer.rb
64
- - lib/bunny/exchange08.rb
65
- - lib/bunny/exchange09.rb
66
- - lib/bunny/queue08.rb
67
- - lib/bunny/queue09.rb
68
- - lib/bunny/subscription08.rb
69
- - lib/bunny/subscription09.rb
63
+ - lib/bunny/exchange.rb
64
+ - lib/bunny/queue.rb
65
+ - lib/bunny/subscription.rb
70
66
  - lib/bunny/system_timer.rb
71
67
  - lib/bunny/version.rb
72
68
  - lib/qrack/amq-client-url.rb
73
69
  - lib/qrack/channel.rb
74
70
  - lib/qrack/client.rb
75
71
  - lib/qrack/errors.rb
76
- - lib/qrack/protocol/protocol08.rb
77
- - lib/qrack/protocol/protocol09.rb
78
- - lib/qrack/protocol/spec08.rb
79
- - lib/qrack/protocol/spec09.rb
80
- - lib/qrack/qrack08.rb
81
- - lib/qrack/qrack09.rb
72
+ - lib/qrack/protocol/protocol.rb
73
+ - lib/qrack/protocol/spec.rb
74
+ - lib/qrack/qrack.rb
82
75
  - lib/qrack/queue.rb
83
76
  - lib/qrack/subscription.rb
84
- - lib/qrack/transport/buffer08.rb
85
- - lib/qrack/transport/buffer09.rb
86
- - lib/qrack/transport/frame08.rb
87
- - lib/qrack/transport/frame09.rb
88
- - spec/spec_08/bunny_spec.rb
89
- - spec/spec_08/connection_spec.rb
90
- - spec/spec_08/exchange_spec.rb
91
- - spec/spec_08/queue_spec.rb
77
+ - lib/qrack/transport/buffer.rb
78
+ - lib/qrack/transport/frame.rb
92
79
  - spec/spec_09/amqp_url_spec.rb
93
80
  - spec/spec_09/bunny_spec.rb
94
81
  - spec/spec_09/connection_spec.rb
95
82
  - spec/spec_09/exchange_spec.rb
96
83
  - spec/spec_09/queue_spec.rb
97
84
  homepage: http://github.com/ruby-amqp/bunny
98
- licenses:
99
- - MIT
100
- metadata: {}
101
- post_install_message:
102
- rdoc_options:
103
- - "--main"
85
+ licenses: []
86
+
87
+ post_install_message: "[\e[32mVersion 0.8.0\e[0m] AMQP 0.8 client is removed. Bunny is an AMQP 0.9.1 client only now.\n"
88
+ rdoc_options:
89
+ - --main
104
90
  - README.rdoc
105
- require_paths:
91
+ require_paths:
106
92
  - lib
107
- required_ruby_version: !ruby/object:Gem::Requirement
108
- requirements:
93
+ required_ruby_version: !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
109
96
  - - ">="
110
- - !ruby/object:Gem::Version
111
- version: '0'
112
- required_rubygems_version: !ruby/object:Gem::Requirement
113
- requirements:
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
114
105
  - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
106
+ - !ruby/object:Gem::Version
107
+ hash: 3
108
+ segments:
109
+ - 0
110
+ version: "0"
117
111
  requirements: []
118
- rubygems_version: 3.0.2
112
+
113
+ rubyforge_project: bunny-amqp
114
+ rubygems_version: 1.8.15
119
115
  signing_key:
120
- specification_version: 4
121
- summary: Synchronous Ruby AMQP 0.9.1 client
122
- test_files:
123
- - spec/spec_08/bunny_spec.rb
124
- - spec/spec_08/connection_spec.rb
125
- - spec/spec_08/exchange_spec.rb
126
- - spec/spec_08/queue_spec.rb
116
+ specification_version: 3
117
+ summary: Synchronous Ruby AMQP 0.8.0 client
118
+ test_files:
127
119
  - spec/spec_09/amqp_url_spec.rb
128
120
  - spec/spec_09/bunny_spec.rb
129
121
  - spec/spec_09/connection_spec.rb
130
122
  - spec/spec_09/exchange_spec.rb
131
123
  - spec/spec_09/queue_spec.rb
124
+ has_rdoc: true