ears 0.15.0 → 0.17.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa64f07c3d05a367176934f7788521507ad0d5465f637f474bf851c666d80a5b
4
- data.tar.gz: 6cd32f2436b8dcc4f96ea5738eccd8f85b1e3fb6582702dda12b2039db7df922
3
+ metadata.gz: 67260eb3f8d990c7a8513a980cc4d99f788aca04c84ec44dd8ce475512ec386d
4
+ data.tar.gz: 7115fdcb714e93c67b36785e508024f2a07ea857d0bdd32b47025d349c6cc60c
5
5
  SHA512:
6
- metadata.gz: 9c7cfb909aad82ca5081e66e8f82d1a459eeed47b7959cf3ecf8f9f796240d354eea65d1d22457fc8d8a86a4e9f3600bcfedcfb6e34147d7729ed73b092b3e4d
7
- data.tar.gz: 5dc6e6b419e986f16c69b71de5df9c787b0ac1305abc21329bd522b9fae002bc9782328d2d3dcb6b758ce1e9222971d2d1fe0b5e21adcd6ad707ec7172e2e918
6
+ metadata.gz: 6019103a8dcfd8a4a184233ecf929e9a98e17a755029eef4535e735f79198015c2424ca56daae0d4823d408a441cc2b2aab8118a29996d37d86b893c19d40a94
7
+ data.tar.gz: 1a0bd116171539c63d1430c8080478330e73d5111d84d3819aa03a90682a0b34a31cc81fff963093c74b86e34f9b45774fa92c97ee8fdaecb7de15638605c8b1
@@ -12,7 +12,7 @@ jobs:
12
12
  runs-on: ubuntu-latest
13
13
  strategy:
14
14
  matrix:
15
- ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4']
15
+ ruby-version: ['3.1', '3.2', '3.3', '3.4']
16
16
 
17
17
  steps:
18
18
  - uses: actions/checkout@v4
data/.tool-versions CHANGED
@@ -1,2 +1,2 @@
1
- ruby 3.0.7
1
+ ruby 3.1.6
2
2
  nodejs 23.6.0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.0 (2025-01-20)
4
+
5
+ - Drop support for ruby 3.0
6
+
7
+ ## 0.16.0 (2025-01-08)
8
+
9
+ - Enhance Consumer#configure method to accept threads option, which will be passed to Ears::Setup.
10
+
3
11
  ## 0.15.0 (2025-01-14)
4
12
 
5
13
  - Drop support for ruby 2.7
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ears (0.15.0)
5
- bunny (~> 2.22.0)
4
+ ears (0.17.0)
5
+ bunny (>= 2.22.0)
6
6
  multi_json
7
7
 
8
8
  GEM
@@ -10,7 +10,7 @@ GEM
10
10
  specs:
11
11
  amq-protocol (2.3.2)
12
12
  ast (2.4.2)
13
- bunny (2.22.0)
13
+ bunny (2.23.0)
14
14
  amq-protocol (~> 2.3, >= 2.3.1)
15
15
  sorted_set (~> 1, >= 1.0.2)
16
16
  diff-lcs (1.5.1)
@@ -119,4 +119,4 @@ DEPENDENCIES
119
119
  yard
120
120
 
121
121
  BUNDLED WITH
122
- 2.5.23
122
+ 2.6.3
data/ears.gemspec CHANGED
@@ -32,6 +32,6 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ['lib']
34
34
 
35
- spec.add_dependency 'bunny', '~> 2.22.0'
35
+ spec.add_dependency 'bunny', '>= 2.22.0'
36
36
  spec.add_dependency 'multi_json'
37
37
  end
data/lib/ears/consumer.rb CHANGED
@@ -40,6 +40,7 @@ module Ears
40
40
  # @option opts [Boolean] :error_queue (false) Whether an error queue should be provided.
41
41
  # @option opts [Boolean] :durable_exchange (true) Whether the exchange should be durable.
42
42
  # @option opts [Symbol] :exchange_type (:topic) The type of exchange to use.
43
+ # @option opts [Integer] :threads (1) The number of threads to use for this consumer.
43
44
  def self.configure(opts = {})
44
45
  self.queue = opts.fetch(:queue)
45
46
  self.exchange = opts.fetch(:exchange)
@@ -47,6 +48,7 @@ module Ears
47
48
  self.queue_options = queue_options_from(opts: opts)
48
49
  self.durable_exchange = opts.fetch(:durable_exchange, true)
49
50
  self.exchange_type = opts.fetch(:exchange_type, :topic)
51
+ self.threads = opts.fetch(:threads, 1)
50
52
  end
51
53
 
52
54
  # The method that is called when a message from the queue is received.
@@ -130,7 +132,8 @@ module Ears
130
132
  :routing_keys,
131
133
  :queue_options,
132
134
  :durable_exchange,
133
- :exchange_type
135
+ :exchange_type,
136
+ :threads
134
137
 
135
138
  private
136
139
 
@@ -148,7 +151,8 @@ module Ears
148
151
  :routing_keys,
149
152
  :queue_options,
150
153
  :durable_exchange,
151
- :exchange_type
154
+ :exchange_type,
155
+ :threads
152
156
  end
153
157
  end
154
158
  end
data/lib/ears/setup.rb CHANGED
@@ -77,7 +77,7 @@ module Ears
77
77
  configured_queue =
78
78
  queue(consumer_class.queue, consumer_class.queue_options)
79
79
  bind_queue_to_routing_keys(consumer_class, exchange, configured_queue)
80
- consumer(configured_queue, consumer_class)
80
+ consumer(configured_queue, consumer_class, consumer_class.threads)
81
81
  end
82
82
 
83
83
  def bind_queue_to_routing_keys(consumer_class, exchange, configured_queue)
data/lib/ears/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ears
2
- VERSION = '0.15.0'
2
+ VERSION = '0.17.0'
3
3
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ears
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - InVision AG
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-14 00:00:00.000000000 Z
11
+ date: 2025-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.22.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.22.0
27
27
  - !ruby/object:Gem::Dependency
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  requirements: []
103
- rubygems_version: 3.2.33
103
+ rubygems_version: 3.3.27
104
104
  signing_key:
105
105
  specification_version: 4
106
106
  summary: A gem for building RabbitMQ consumers.