bunny 0.7.12 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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