bunny 2.18.0 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12c06caafbcd9f9246ab4bd8431fd4eaea5dbbd312ff0d44a771eba7ed6a9a45
4
- data.tar.gz: 73aa41037c3c38ff236ddec494cbb9b7678804265e1ec90c8fca0a6bafcdff8f
3
+ metadata.gz: d6de535f1d386dbf46fd89a733c1c44915280af55c3cc3cc56467abe0ead9c24
4
+ data.tar.gz: 6048aea84078fb8995718ed774d9a3956dc91645b24c09382cd54283b444aabe
5
5
  SHA512:
6
- metadata.gz: 8abbfee40480a6421fb1b17004796970cfec645ec133d9330ae7338b0877ee8f8ef8a2eda8ccce00106fccef0c73d009da1179345261509d6f30de300df38db3
7
- data.tar.gz: 62748d088e8b346041f502f02ef08837b78ecf0acc5e2599c5e7640c6f6af7fcba4dfa261b7cc1e458bf672fe69ecc423660905c7f220bfb1b933937ea2537ea
6
+ metadata.gz: b3575710f81dabf6c116c92c4ac1807a29f0c0bcd1bd5fb35ae1fd9dd468df193efac49d0ad5e77ef04ecc53e97b9b4e13e70f4207972ba0c2335c28afcd6c9b
7
+ data.tar.gz: 8b90dd4da7dab28b529e78cf1282656ca1904432b1017ee5574545c1972315f975d175c718481372604b61796e9ae56b293a342dcba800fa0929e4b80cd7a3c4
data/README.md CHANGED
@@ -47,7 +47,7 @@ Specific examples:
47
47
 
48
48
  Modern Bunny versions support
49
49
 
50
- * CRuby 2.3 through 2.7 (inclusive)
50
+ * CRuby 2.5 through 3.0 (inclusive)
51
51
 
52
52
  Bunny works sufficiently well on JRuby but there are known
53
53
  JRuby bugs in versions prior to JRuby 9000 that cause high CPU burn. JRuby users should
@@ -70,10 +70,8 @@ a stable public API.
70
70
  Change logs per release series:
71
71
 
72
72
  * [master](https://github.com/ruby-amqp/bunny/blob/master/ChangeLog.md)
73
+ * [2.18.x](https://github.com/ruby-amqp/bunny/blob/2.18.x-stable/ChangeLog.md)
73
74
  * [2.17.x](https://github.com/ruby-amqp/bunny/blob/2.17.x-stable/ChangeLog.md)
74
- * [2.16.x](https://github.com/ruby-amqp/bunny/blob/2.16.x-stable/ChangeLog.md)
75
- * [2.15.x](https://github.com/ruby-amqp/bunny/blob/2.15.x-stable/ChangeLog.md)
76
- * [2.14.x](https://github.com/ruby-amqp/bunny/blob/2.14.x-stable/ChangeLog.md)
77
75
 
78
76
 
79
77
 
@@ -96,7 +94,7 @@ gem install bunny
96
94
  To use Bunny in a project managed with Bundler:
97
95
 
98
96
  ``` ruby
99
- gem "bunny", ">= 2.17.0"
97
+ gem "bunny", ">= 2.18.0"
100
98
  ```
101
99
 
102
100
 
@@ -116,20 +114,31 @@ conn.start
116
114
 
117
115
  # open a channel
118
116
  ch = conn.create_channel
117
+ ch.confirm_select
119
118
 
120
119
  # declare a queue
121
120
  q = ch.queue("test1")
121
+ q.subscribe(manual_ack: true) do |delivery_info, metadata, payload|
122
+ puts "This is the message: #{payload}"
123
+ # acknowledge the delivery so that RabbitMQ can mark it for deletion
124
+ ch.ack(delivery_info.delivery_tag)
125
+ end
122
126
 
123
127
  # publish a message to the default exchange which then gets routed to this queue
124
128
  q.publish("Hello, everybody!")
125
129
 
126
- # fetch a message from the queue
127
- delivery_info, metadata, payload = q.pop
130
+ # await confirmations from RabbitMQ, see
131
+ # https://www.rabbitmq.com/publishers.html#data-safety for details
132
+ ch.wait_for_confirms
128
133
 
129
- puts "This is the message: #{payload}"
134
+ # give the above consumer some time consume the delivery and print out the message
135
+ sleep 1
130
136
 
137
+ puts "Done"
138
+
139
+ ch.close
131
140
  # close the connection
132
- conn.stop
141
+ conn.close
133
142
  ```
134
143
 
135
144
 
@@ -141,7 +150,7 @@ For a 15 minute tutorial using more practical examples, see [Getting Started wit
141
150
 
142
151
  ### Guides
143
152
 
144
- Other documentation guides are available at [rubybunny.info](http://rubybunny.info):
153
+ Bunny documentation guides are available at [rubybunny.info](http://rubybunny.info):
145
154
 
146
155
  * [Queues and Consumers](http://rubybunny.info/articles/queues.html)
147
156
  * [Exchanges and Publishers](http://rubybunny.info/articles/exchanges.html)
@@ -153,6 +162,16 @@ Other documentation guides are available at [rubybunny.info](http://rubybunny.in
153
162
  * [Using RabbitMQ Extensions with Bunny](http://rubybunny.info/articles/extensions.html)
154
163
  * [Durability and Related Matters](http://rubybunny.info/articles/durability.html)
155
164
 
165
+ Some highly relevant RabbitMQ documentation guides:
166
+
167
+ * [Connections](https://www.rabbitmq.com/connections.html)
168
+ * [Channels](https://www.rabbitmq.com/channels.html)
169
+ * [Queues](https://www.rabbitmq.com/queues.html)
170
+ * [Publishers](https://www.rabbitmq.com/publishers.html)
171
+ * [Consumers](https://www.rabbitmq.com/consumers.html)
172
+ * Data safety: publisher and consumer [Confirmations](https://www.rabbitmq.com/confirms.html)
173
+ * [Production Checklist](https://www.rabbitmq.com/production-checklist.html)
174
+
156
175
  ### API Reference
157
176
 
158
177
  [Bunny API Reference](http://reference.rubybunny.info/).
data/lib/bunny/channel.rb CHANGED
@@ -1789,7 +1789,7 @@ module Bunny
1789
1789
  # @private
1790
1790
  def handle_ack_or_nack(delivery_tag_before_offset, multiple, nack)
1791
1791
  delivery_tag = delivery_tag_before_offset + @delivery_tag_offset
1792
- confirmed_range_start = multiple ? @delivery_tag_offset + 1 : delivery_tag
1792
+ confirmed_range_start = multiple ? @delivery_tag_offset + @unconfirmed_set.min : delivery_tag
1793
1793
  confirmed_range_end = delivery_tag
1794
1794
  confirmed_range = (confirmed_range_start..confirmed_range_end)
1795
1795
 
data/lib/bunny/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Bunny
4
4
  # @return [String] Version of the library
5
- VERSION = "2.18.0"
5
+ VERSION = "2.19.0"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bunny
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.18.0
4
+ version: 2.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Duncan
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2021-05-24 00:00:00.000000000 Z
15
+ date: 2021-06-25 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: amq-protocol