jackhammer 1.3.7 → 1.5.1

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: d56a6f3d2a1f7ca03feba155032f34598ac37ebe0a33f909beaf8a4925bb351b
4
- data.tar.gz: 6e2858cc50c7b9139b4b506f64fb9d4c339ac29ce5fbf5b84f8fb42e52c0305c
3
+ metadata.gz: 78ec1dce5b7eb73a3b8137bd2a075c18d4dc56c9068cbae2447d55e5e4645f91
4
+ data.tar.gz: c006744c74e10460cf3e73717f9c9d8b6a5cacc1dcf965ed36e31b3034fa2249
5
5
  SHA512:
6
- metadata.gz: 02304a35a6234347fac7ea7257b601accada9293c21620569968da7df1f4831d6c36e350c0c5e94872939cce27c43b179fcdaa6fc1b285e4fbef6c8e40e60836
7
- data.tar.gz: 4ea19a99767048e119846b2a024e2c06e060cd79794dda955865d08b7153eebd03c709f63ce0e8c7e050e5b962db45488b8d91113e11a9e2327d33ba71d72dcb
6
+ metadata.gz: 9132d9d33f46257e18ac9c690f335b1b2c301d5301287d7c205cc67b926b22568cafda175d92f48fea963498b04526ea86f51fa8bd6fc521635f6d59edace64d
7
+ data.tar.gz: 1f64927a24801ac652539da84d01a8d77994bb30959c0d10ee5dc09c5eca9c4083cb3ca065fd037e4cd8c5e290f4046eb0c7d89b816b7c81bf40186b7db224d0
data/.bundler-version ADDED
@@ -0,0 +1 @@
1
+ 2.2.32
@@ -3,9 +3,14 @@ version: 1
3
3
  update_configs:
4
4
  - package_manager: "ruby:bundler"
5
5
  directory: "/"
6
- update_schedule: "monthly"
6
+ update_schedule: "daily"
7
7
  commit_message:
8
8
  prefix: "[dependabot]"
9
9
  allowed_updates:
10
10
  - match:
11
- update_type: "all"
11
+ dependency_type: "all"
12
+ update_type: "security"
13
+ automerged_updates:
14
+ - match:
15
+ dependency_type: "all"
16
+ update_type: "security:patch"
@@ -1,18 +1,6 @@
1
- ## Description
1
+ ## Description, motivation and context
2
2
  <!--- Describe your changes in detail -->
3
-
4
- ## Related issue(s)
5
- <!--- GH issue number -->
6
-
7
- ## Motivation and Context
8
3
  <!--- Why is this change required? What problem does it solve? -->
9
- <!--- If it fixes an open issue, please link to the issue here. -->
10
4
 
11
- ## How Has This Been Tested?
12
- <!--- Please describe in detail how you tested your changes. -->
13
-
14
- ## Screenshots (if appropriate):
15
- <!--- Please add any screenshots of the feature. -->
16
-
17
- ## Related PRs
18
- <!--- Please add links to any related PRs (backend, component packages, etc). -->
5
+ ## Related issue(s) or PR(s)
6
+ <!--- GH issue number -->
@@ -1,7 +1,7 @@
1
- # automatically approve PRs submitted by Dependabot
1
+ # automatically approve PRs submitted by Dependabot or Renofidev
2
2
  # this will allow Dependabot to automatically merge dependency update PRs where CI passes
3
3
  # from: https://github.com/hmarr/auto-approve-action
4
- name: Auto approve Dependabot PRs
4
+ name: Auto approve dependency upgrades PRs
5
5
 
6
6
  on:
7
7
  pull_request
@@ -10,7 +10,7 @@ jobs:
10
10
  auto-approve:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: hmarr/auto-approve-action@v2.0.0
14
- if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
13
+ - uses: hmarr/auto-approve-action@v2
14
+ if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]' || github.actor == 'renofidev'
15
15
  with:
16
16
  github-token: "${{ secrets.GITHUB_TOKEN }}"
@@ -0,0 +1,19 @@
1
+ name: automerge
2
+ on:
3
+ pull_request_review:
4
+ types:
5
+ - submitted
6
+ check_suite:
7
+ types:
8
+ - completed
9
+ status: {}
10
+ jobs:
11
+ automerge:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: automerge
15
+ uses: "pascalgn/automerge-action@v0.12.0"
16
+ env:
17
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
18
+ MERGE_METHOD: squash
19
+ MERGE_DELETE_BRANCH: true
@@ -0,0 +1,28 @@
1
+ name: Ruby CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['2.7', '3.0']
15
+
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - name: Set up Ruby
19
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
20
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
21
+ # uses: ruby/setup-ruby@v1
22
+ uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
23
+ with:
24
+ ruby-version: ${{ matrix.ruby-version }}
25
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
26
+
27
+ - name: Run tests
28
+ run: bundle exec rake ci
data/Gemfile.lock CHANGED
@@ -1,79 +1,88 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jackhammer (1.3.7)
5
- bunny (~> 2.14)
4
+ jackhammer (1.5.1)
5
+ bunny (~> 2.17)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (6.0.3.2)
11
- activesupport (= 6.0.3.2)
12
- activerecord (6.0.3.2)
13
- activemodel (= 6.0.3.2)
14
- activesupport (= 6.0.3.2)
15
- activesupport (6.0.3.2)
10
+ activemodel (6.1.4.1)
11
+ activesupport (= 6.1.4.1)
12
+ activerecord (6.1.4.1)
13
+ activemodel (= 6.1.4.1)
14
+ activesupport (= 6.1.4.1)
15
+ activesupport (6.1.4.1)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (>= 0.7, < 2)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- zeitwerk (~> 2.2, >= 2.2.2)
17
+ i18n (>= 1.6, < 2)
18
+ minitest (>= 5.1)
19
+ tzinfo (~> 2.0)
20
+ zeitwerk (~> 2.3)
21
21
  amq-protocol (2.3.2)
22
- ast (2.4.1)
23
- bunny (2.16.1)
22
+ ast (2.4.2)
23
+ bunny (2.19.0)
24
24
  amq-protocol (~> 2.3, >= 2.3.1)
25
+ sorted_set (~> 1, >= 1.0.2)
25
26
  bunny-mock (1.7.0)
26
27
  bunny (>= 1.7)
27
28
  byebug (11.1.3)
28
- concurrent-ruby (1.1.7)
29
+ concurrent-ruby (1.1.9)
29
30
  diff-lcs (1.4.4)
30
- i18n (1.8.5)
31
+ i18n (1.8.11)
31
32
  concurrent-ruby (~> 1.0)
32
- minitest (5.14.2)
33
- parallel (1.19.2)
34
- parser (2.7.1.4)
33
+ minitest (5.14.4)
34
+ parallel (1.21.0)
35
+ parser (3.0.2.0)
35
36
  ast (~> 2.4.1)
36
37
  rainbow (3.0.0)
37
- rake (13.0.1)
38
- regexp_parser (1.7.1)
39
- rexml (3.2.4)
40
- rspec (3.9.0)
41
- rspec-core (~> 3.9.0)
42
- rspec-expectations (~> 3.9.0)
43
- rspec-mocks (~> 3.9.0)
44
- rspec-core (3.9.2)
45
- rspec-support (~> 3.9.3)
46
- rspec-expectations (3.9.2)
38
+ rake (13.0.6)
39
+ rbtree (0.4.4)
40
+ regexp_parser (2.1.1)
41
+ rexml (3.2.5)
42
+ rspec (3.10.0)
43
+ rspec-core (~> 3.10.0)
44
+ rspec-expectations (~> 3.10.0)
45
+ rspec-mocks (~> 3.10.0)
46
+ rspec-core (3.10.1)
47
+ rspec-support (~> 3.10.0)
48
+ rspec-expectations (3.10.1)
47
49
  diff-lcs (>= 1.2.0, < 2.0)
48
- rspec-support (~> 3.9.0)
49
- rspec-mocks (3.9.1)
50
+ rspec-support (~> 3.10.0)
51
+ rspec-mocks (3.10.2)
50
52
  diff-lcs (>= 1.2.0, < 2.0)
51
- rspec-support (~> 3.9.0)
52
- rspec-support (3.9.3)
53
- rubocop (0.90.0)
53
+ rspec-support (~> 3.10.0)
54
+ rspec-support (3.10.3)
55
+ rubocop (1.23.0)
54
56
  parallel (~> 1.10)
55
- parser (>= 2.7.1.1)
57
+ parser (>= 3.0.0.0)
56
58
  rainbow (>= 2.2.2, < 4.0)
57
- regexp_parser (>= 1.7)
59
+ regexp_parser (>= 1.8, < 3.0)
58
60
  rexml
59
- rubocop-ast (>= 0.3.0, < 1.0)
61
+ rubocop-ast (>= 1.12.0, < 2.0)
60
62
  ruby-progressbar (~> 1.7)
61
- unicode-display_width (>= 1.4.0, < 2.0)
62
- rubocop-ast (0.3.0)
63
- parser (>= 2.7.1.4)
64
- rubocop-performance (1.7.1)
65
- rubocop (>= 0.82.0)
66
- rubocop-rspec (1.43.2)
67
- rubocop (~> 0.87)
68
- ruby-progressbar (1.10.1)
69
- thread_safe (0.3.6)
70
- tzinfo (1.2.7)
71
- thread_safe (~> 0.1)
72
- unicode-display_width (1.7.0)
73
- zeitwerk (2.4.0)
63
+ unicode-display_width (>= 1.4.0, < 3.0)
64
+ rubocop-ast (1.13.0)
65
+ parser (>= 3.0.1.1)
66
+ rubocop-rake (0.6.0)
67
+ rubocop (~> 1.0)
68
+ rubocop-rspec (2.6.0)
69
+ rubocop (~> 1.19)
70
+ ruby-progressbar (1.11.0)
71
+ set (1.0.2)
72
+ sorted_set (1.0.3)
73
+ rbtree
74
+ set (~> 1.0)
75
+ tzinfo (2.0.4)
76
+ concurrent-ruby (~> 1.0)
77
+ unicode-display_width (2.1.0)
78
+ zeitwerk (2.5.1)
74
79
 
75
80
  PLATFORMS
76
- ruby
81
+ aarch64-linux-musl
82
+ x86_64-darwin-18
83
+ x86_64-darwin-19
84
+ x86_64-darwin-20
85
+ x86_64-linux
77
86
 
78
87
  DEPENDENCIES
79
88
  activerecord
@@ -84,8 +93,8 @@ DEPENDENCIES
84
93
  rake
85
94
  rspec
86
95
  rubocop
87
- rubocop-performance
96
+ rubocop-rake
88
97
  rubocop-rspec
89
98
 
90
99
  BUNDLED WITH
91
- 2.1.4
100
+ 2.2.29
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/jackhammer.svg)](https://rubygems.org/gems/jackhammer)
2
- [![Build Status](https://travis-ci.org/RenoFi/jackhammer.svg?branch=master)](https://travis-ci.org/RenoFi/jackhammer)
2
+ [![Build Status](https://github.com/RenoFi/jackhammer/actions/workflows/ci.yml/badge.svg)](https://github.com/RenoFi/jackhammer/actions/workflows/ci.yml?query=branch%3Amain)
3
+
4
+ ## !!! NO LONGER MAINTANED !!!
5
+
6
+ RenoFi moved to Google Pub/Sub and doesn't use rabbitmmq/jackhammer anymore.
7
+
3
8
 
4
9
  # jackhammer
5
10
 
@@ -90,6 +95,8 @@ module MyApp
90
95
  config.publish_options = { mandatory: true, persistent: true }
91
96
  config.yaml_config = "config/jackhammer.yml"
92
97
  config.app_name = "my_app"
98
+ config.client_middleware.use MyClientMiddleware, some_arg: 1, other_arg: 2
99
+ config.server_middleware.use MyServerMiddleware
93
100
  end
94
101
  end
95
102
  end
@@ -162,10 +169,47 @@ The intent of the options might not be obvious by looking at the name.
162
169
  overridden by passing the same options as arguments in your code).
163
170
  - **yaml_config** defines the file location of the Topic Exchange YAML
164
171
  configuration file.
172
+ - **client_middleware** defines hooks that will be executed prior to publishing a message to a topic
173
+ - **server_middleware** defines hooks that will be executed prior to running the message handler
165
174
 
166
175
  You can find defaults specified in the Jackhammer::Configuration class
167
176
  constructor.
168
177
 
178
+ ### Middleware
179
+
180
+ Middleware allows you to hook into message publishing (client) and handling (server).
181
+
182
+ It can be used to transform the passed in arguments before passing them along or to halt the execution completely.
183
+ The execution will be halted if the middleware instance does not yield.
184
+
185
+ #### Example client middleware
186
+
187
+ ```ruby
188
+ class MyClientMiddleware
189
+ def initialize(name)
190
+ @name = name
191
+ end
192
+
193
+ def call(message, options)
194
+ options[:headers][:hello] = @name
195
+
196
+ yield message, options
197
+ end
198
+ end
199
+ ```
200
+
201
+ #### Example server middleware
202
+
203
+ ```ruby
204
+ class MyServerMiddleware
205
+ def call(handler:, delivery_info:, properties:, content:)
206
+ puts "Hello, #{properties[:headers]['name']}!"
207
+
208
+ yield handler: handler, delivery_info: delivery_info, properties: properties, content: content
209
+ end
210
+ end
211
+ ```
212
+
169
213
  ## Development
170
214
 
171
215
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/Rakefile CHANGED
@@ -5,4 +5,5 @@ require 'rubocop/rake_task'
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
  RuboCop::RakeTask.new
7
7
 
8
+ task ci: %i[spec rubocop]
8
9
  task default: %i[spec rubocop:auto_correct]
data/jackhammer.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
14
14
 
15
15
  spec.metadata['homepage_uri'] = spec.homepage
16
16
  spec.metadata['source_code_uri'] = spec.homepage
17
+ spec.metadata['rubygems_mfa_required'] = 'true'
17
18
 
18
19
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
20
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(bin/|spec/|\.rub)}) }
@@ -22,9 +23,9 @@ Gem::Specification.new do |spec|
22
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
24
  spec.require_paths = ['lib']
24
25
 
25
- spec.required_ruby_version = '>= 2.6'
26
+ spec.required_ruby_version = '>= 3.0.0'
26
27
 
27
- spec.add_dependency 'bunny', '~> 2.14'
28
+ spec.add_dependency 'bunny', '~> 2.17'
28
29
 
29
30
  spec.add_development_dependency 'activerecord'
30
31
  spec.add_development_dependency 'bundler'
@@ -33,6 +34,6 @@ Gem::Specification.new do |spec|
33
34
  spec.add_development_dependency 'rake'
34
35
  spec.add_development_dependency 'rspec'
35
36
  spec.add_development_dependency 'rubocop'
36
- spec.add_development_dependency 'rubocop-performance'
37
+ spec.add_development_dependency 'rubocop-rake'
37
38
  spec.add_development_dependency 'rubocop-rspec'
38
39
  end
@@ -2,6 +2,7 @@ module Jackhammer
2
2
  class Configuration
3
3
  attr_accessor(
4
4
  :app_name,
5
+ :client_middleware,
5
6
  :connection_options,
6
7
  :connection_url,
7
8
  :environment,
@@ -9,6 +10,7 @@ module Jackhammer
9
10
  :logger,
10
11
  :publish_options,
11
12
  :server,
13
+ :server_middleware,
12
14
  :yaml_config
13
15
  )
14
16
 
@@ -20,6 +22,8 @@ module Jackhammer
20
22
  @logger = Logger.new IO::NULL
21
23
  @publish_options = { mandatory: true, persistent: true }
22
24
  @yaml_config = './config/jackhammer.yml'
25
+ @client_middleware = MiddlewareCollection.new
26
+ @server_middleware = MiddlewareCollection.new
23
27
  end
24
28
 
25
29
  def self.instance
@@ -9,10 +9,13 @@ module Jackhammer
9
9
  def validate
10
10
  validate_environment_defined
11
11
  return if errors.any?
12
+
12
13
  validate_topic_exchange_defined
13
14
  return if errors.any?
15
+
14
16
  validate_queues_defined
15
17
  return if errors.any?
18
+
16
19
  validate_handlers_defined
17
20
  end
18
21
 
@@ -0,0 +1,29 @@
1
+ module Jackhammer
2
+ class MiddlewareCollection
3
+ def initialize
4
+ @entries = []
5
+ end
6
+
7
+ def use(klass, *args, **kwargs, &block)
8
+ @entries << Entry.new(klass: klass, args: args, kwargs: kwargs, block: block)
9
+ end
10
+
11
+ def call(*args, **kwargs, &block)
12
+ call_chain = @entries.map(&:instantiate) + [block]
13
+
14
+ traverse = proc do |*procargs, **prockwargs|
15
+ call_chain.shift.call(*procargs, **prockwargs, &traverse) unless call_chain.empty?
16
+ end
17
+
18
+ traverse.call(*args, **kwargs)
19
+ end
20
+
21
+ Entry = Struct.new(:klass, :args, :kwargs, :block, keyword_init: true) do
22
+ def instantiate
23
+ return klass unless klass.respond_to?(:new)
24
+
25
+ klass.new(*args, **kwargs, &block)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -13,7 +13,15 @@ module Jackhammer
13
13
  queue.subscribe do |delivery_info, properties, content|
14
14
  Log.info { [delivery_info.inspect, properties.inspect].join(' || ') }
15
15
  Log.debug { content }
16
- handler_object.call content
16
+
17
+ Jackhammer.server_middleware.call(
18
+ handler: handler_object,
19
+ delivery_info: delivery_info,
20
+ properties: properties,
21
+ content: content
22
+ ) do |**args|
23
+ args.fetch(:handler).call args.fetch(:content)
24
+ end
17
25
  rescue StandardError => e
18
26
  Log.error e
19
27
  Jackhammer.configuration.exception_adapter.call e
@@ -3,8 +3,8 @@ module Jackhammer
3
3
  QUEUE_NAME_KEY = 'queue_name'.freeze
4
4
  ROUTING_KEY_KEY = 'routing_key'.freeze
5
5
 
6
- def initialize(name:, options:, queue_config:)
7
- @topic = Jackhammer.channel.topic name, options
6
+ def initialize(name:, queue_config:, options: {})
7
+ @topic = Jackhammer.channel.topic(name, options)
8
8
  @queue_config = normalize_queue_config(queue_config)
9
9
  end
10
10
 
@@ -15,7 +15,9 @@ module Jackhammer
15
15
  # We're expecting the client to specify at least the routing_key in options
16
16
  # for each message published.
17
17
  def publish(message, options)
18
- topic.publish message, Jackhammer.publish_options(options)
18
+ Jackhammer.client_middleware.call(message, Jackhammer.publish_options(options)) do |msg, opts|
19
+ topic.publish msg, opts
20
+ end
19
21
  end
20
22
 
21
23
  def queues
@@ -5,6 +5,7 @@ module Jackhammer
5
5
  result = {}
6
6
  Jackhammer.configuration.yaml.each do |topic, topic_config|
7
7
  fail(InvalidConfigError, "Topic config is invalid") unless topic_config.is_a?(Hash)
8
+
8
9
  queues = topic_config.delete 'queues'
9
10
  result[topic.to_sym] = Topic.new(name: topic, options: topic_config, queue_config: queues)
10
11
  end
@@ -1,3 +1,3 @@
1
1
  module Jackhammer
2
- VERSION = '1.3.7'.freeze
2
+ VERSION = '1.5.1'.freeze
3
3
  end
data/lib/jackhammer.rb CHANGED
@@ -7,6 +7,7 @@ require 'jackhammer/exceptions'
7
7
  require 'jackhammer/log'
8
8
  require 'jackhammer/configuration'
9
9
  require 'jackhammer/message_receiver'
10
+ require 'jackhammer/middleware_collection'
10
11
  require 'jackhammer/queue_name'
11
12
  require 'jackhammer/queue'
12
13
  require 'jackhammer/topic'
@@ -46,5 +47,13 @@ module Jackhammer
46
47
  opts[:headers][:time] ||= time.iso8601
47
48
  end
48
49
  end
50
+
51
+ def client_middleware
52
+ configuration.client_middleware
53
+ end
54
+
55
+ def server_middleware
56
+ configuration.server_middleware
57
+ end
49
58
  end
50
59
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jackhammer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Serok
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-02 00:00:00.000000000 Z
11
+ date: 2021-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.14'
19
+ version: '2.17'
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
- version: '2.14'
26
+ version: '2.17'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: rubocop-performance
126
+ name: rubocop-rake
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -158,15 +158,17 @@ executables:
158
158
  extensions: []
159
159
  extra_rdoc_files: []
160
160
  files:
161
+ - ".bundler-version"
161
162
  - ".dependabot/config.yml"
162
163
  - ".github/ISSUE_TEMPLATE/bug_report.md"
163
164
  - ".github/ISSUE_TEMPLATE/config.yml"
164
165
  - ".github/ISSUE_TEMPLATE/story.md"
165
166
  - ".github/PULL_REQUEST_TEMPLATE.md"
166
167
  - ".github/workflows/auto-approve.yml"
168
+ - ".github/workflows/auto-merge.yml"
169
+ - ".github/workflows/ci.yml"
167
170
  - ".gitignore"
168
171
  - ".rspec"
169
- - ".travis.yml"
170
172
  - Gemfile
171
173
  - Gemfile.lock
172
174
  - LICENSE.txt
@@ -181,6 +183,7 @@ files:
181
183
  - lib/jackhammer/exceptions.rb
182
184
  - lib/jackhammer/log.rb
183
185
  - lib/jackhammer/message_receiver.rb
186
+ - lib/jackhammer/middleware_collection.rb
184
187
  - lib/jackhammer/queue.rb
185
188
  - lib/jackhammer/queue_name.rb
186
189
  - lib/jackhammer/rake_task.rb
@@ -194,6 +197,7 @@ licenses:
194
197
  metadata:
195
198
  homepage_uri: https://github.com/renofi/jackhammer
196
199
  source_code_uri: https://github.com/renofi/jackhammer
200
+ rubygems_mfa_required: 'true'
197
201
  post_install_message:
198
202
  rdoc_options: []
199
203
  require_paths:
@@ -202,14 +206,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
202
206
  requirements:
203
207
  - - ">="
204
208
  - !ruby/object:Gem::Version
205
- version: '2.6'
209
+ version: 3.0.0
206
210
  required_rubygems_version: !ruby/object:Gem::Requirement
207
211
  requirements:
208
212
  - - ">="
209
213
  - !ruby/object:Gem::Version
210
214
  version: '0'
211
215
  requirements: []
212
- rubygems_version: 3.1.2
216
+ rubygems_version: 3.2.23
213
217
  signing_key:
214
218
  specification_version: 4
215
219
  summary: Jackhammer is an opinionated facade over RabbitMQ Bunny
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6
7
- - 2.7
8
- before_install: gem install bundler
9
- script:
10
- - bundle exec rake spec
11
- - bundle exec rake rubocop