advanced-sneakers-activejob 0.3.1 → 0.3.6

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: ea3374ddb93226f413dd09ed2cdf2ee317890c5592e03563d64e786ae3ac96d1
4
- data.tar.gz: aec7a20fd45441a06de50c6978e71402f002e079f0ba11a88677ec4556559746
3
+ metadata.gz: 7c9c85eff744ad5d1de5009fc25cf53ad1b11922d4ed75b65c87045615850143
4
+ data.tar.gz: a67cc5ac97620471e7424066acab3ac5b513da37888ccd70599946c107b0a0fe
5
5
  SHA512:
6
- metadata.gz: b9a007a2443a4e8add7f5918745944587ee7b9a159e534f1bcc87fbbcd9be16747ab25544eb2dbe37707e9ddeb3c299d4ef608b0ea2aafbb5e49a320e7d2d9ce
7
- data.tar.gz: 3f63ffdf312d58faa22bdfd73bd0599508b0b8894c5fed8fc03142da7dbbf8b4bf2c9ab488748c895e3782e6308e6d9908c8a74d4d4a549007f784bfc9813117
6
+ metadata.gz: 2ba5450df0c6b7dd824c468d5962d77085c2cabcf3db3b009485cee68c917fbdf3d3109355b9148176f4841c388065402c9ce15c7bd2093bc89eec47cf6488a5
7
+ data.tar.gz: b9780aa81dc55deb3a311ba5d658b5c584398ee4df82a2e963acca9d9429bbfa6fbd34f3e1794e4e407ba7624456e6ea92cb19e47de22d8f3ccb7670cd76b323
data/.gitignore CHANGED
@@ -7,6 +7,7 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /Gemfile.lock
10
+ /gemfiles/*.lock
10
11
  /.ruby-gemset
11
12
  /.ruby-version
12
13
 
@@ -1,8 +1,17 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ Exclude:
4
+ - gemfiles/**/*
5
+
1
6
  Layout/LineLength:
2
7
  Max: 140
3
8
  Exclude:
4
9
  - spec/**/*
5
10
 
11
+ Lint/SuppressedException:
12
+ Exclude:
13
+ - spec/**/*
14
+
6
15
  Metrics/ClassLength:
7
16
  Enabled: false
8
17
 
@@ -11,6 +20,10 @@ Metrics/BlockLength:
11
20
  - advanced-sneakers-activejob.gemspec
12
21
  - spec/**/*
13
22
 
23
+ Metrics/CyclomaticComplexity:
24
+ Exclude:
25
+ - spec/support/log_helpers.rb
26
+
14
27
  Metrics/MethodLength:
15
28
  Exclude:
16
29
  - spec/**/*
@@ -27,9 +40,5 @@ Metrics/AbcSize:
27
40
  Exclude:
28
41
  - spec/**/*
29
42
 
30
- Lint/SuppressedException:
31
- Exclude:
32
- - spec/**/*
33
-
34
43
  Style/Documentation:
35
44
  Enabled: false
@@ -2,20 +2,24 @@
2
2
  dist: xenial
3
3
  language: ruby
4
4
  cache: bundler
5
+
5
6
  rvm:
6
7
  - 2.5.8
7
8
  - 2.6.6
8
9
  - 2.7.1
9
- env:
10
- - RAILS_VERSION="~> 4.2.11"
11
- - RAILS_VERSION="~> 5.2.4"
12
- - RAILS_VERSION="~> 6.0.2"
13
- jobs:
10
+
11
+ gemfile:
12
+ - gemfiles/activejob_4.2.x.gemfile
13
+ - gemfiles/activejob_5.2.x.gemfile
14
+ - gemfiles/activejob_6.0.x.gemfile
15
+
16
+ matrix:
14
17
  exclude:
15
18
  - rvm: 2.7.1
16
- env: RAILS_VERSION="~> 4.2.11"
19
+ gemfile: gemfiles/activejob_4.2.x.gemfile
20
+
21
+ before_install: 'gem install bundler -v "$(ruby -e "puts RUBY_VERSION.to_f >= 2.7 ? \">= 2.0\" : \"< 2\"")"'
22
+
23
+ before_script: .ci/install_rabbitmq
17
24
 
18
- before_install: gem install bundler -v 1.17.3
19
- before_script:
20
- - ".ci/install_rabbitmq"
21
25
  bundler_args: --jobs 3 --retry 3
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ appraise 'activejob-4.2.x' do
4
+ gem 'rails', '~> 4.2.11'
5
+ end
6
+
7
+ appraise 'activejob-5.2.x' do
8
+ gem 'rails', '~> 5.2.4'
9
+ end
10
+
11
+ appraise 'activejob-6.0.x' do
12
+ gem 'rails', '~> 6.0.3'
13
+ end
@@ -1,32 +1,85 @@
1
- ## Changes Between 0.3.0 and 0.3.1
1
+ # Changelog
2
2
 
3
- ### [Restore Sneakers::Worker::Classes methods](https://github.com/veeqo/advanced-sneakers-activejob/pull/6)
3
+ All notable changes to this project will be documented in this file.
4
4
 
5
- ## Changes Between 0.2.3 and 0.3.0
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
6
 
7
- This release does not change the observed behavior, but replaces the publisher with completely new implementation.
7
+ ## [Unreleased](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.3.6...HEAD)
8
8
 
9
- ### Reusable parts of publisher are extracted to [bunny-publisher](https://github.com/veeqo/bunny-publisher)
10
9
 
11
- ## Changes Between 0.2.2 and 0.2.3
10
+ ## [0.3.6](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.3.5...v0.3.6) - 2020-09-18
12
11
 
13
- ### [Refactored support for ActiveJob prefix](https://github.com/veeqo/advanced-sneakers-activejob/pull/3)
14
- ### [Support for custom adapter per job](https://github.com/veeqo/advanced-sneakers-activejob/pull/4)
12
+ ### Changed
13
+ - [#12](https://github.com/veeqo/advanced-sneakers-activejob/pull/12) Refactor changelog to comply with Keep a Changelog
14
+ - [#13](https://github.com/veeqo/advanced-sneakers-activejob/pull/13) Use appraisals for Travis matrix
15
15
 
16
- ## Changes Between 0.2.1 and 0.2.2
16
+ ### Fixed
17
+ - [#14](https://github.com/veeqo/advanced-sneakers-activejob/pull/14) Fix deprecation warnings of ruby 2.7
17
18
 
18
- Cleanup of `puts` and logger mistakenly introduced in previous version
19
19
 
20
- ## Changes Between 0.2.0 and 0.2.1
20
+ ## [0.3.5](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.3.4...v0.3.5) - 2020-06-27
21
21
 
22
- ### [Support for ActiveJob prefix](https://github.com/veeqo/advanced-sneakers-activejob/pull/2)
22
+ ### Fixed
23
+ - [#11](https://github.com/veeqo/advanced-sneakers-activejob/pull/11) `NoMethodError` on `Rails.application.eager_load!` in Rails initializer
23
24
 
24
- Fixed worker class name in rake task description
25
25
 
26
- ## Changes Between 0.1.0 and 0.2.0
26
+ ## [0.3.4](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.3.3...v0.3.4) - 2020-06-11
27
27
 
28
- ### [`message_options`](https://github.com/veeqo/advanced-sneakers-activejob/pull/1)
28
+ ### Added
29
+ - [#10](https://github.com/veeqo/advanced-sneakers-activejob/pull/10) Ability to run ActiveJob consumers by wildcards for queue names
29
30
 
30
- Customizable options for message publishing (`routing_key`, `headers`, etc)
31
31
 
32
- ## Original Release: 0.1.0
32
+ ## [0.3.3](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.3.2...v0.3.3) - 2020-06-09
33
+
34
+ ### Added
35
+ - [#9](https://github.com/veeqo/advanced-sneakers-activejob/pull/9) Ability to run ActiveJob consumers by queue names
36
+
37
+
38
+ ## [0.3.2](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.3.1...v0.3.2) - 2020-06-05
39
+
40
+ ### Added
41
+ - [#8](https://github.com/veeqo/advanced-sneakers-activejob/pull/8) Ability to run specified ActiveJob queues consumers
42
+
43
+
44
+ ## [0.3.1](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.3.0...v0.3.1) - 2020-06-02
45
+
46
+ ### Fixed
47
+ - [#6](https://github.com/veeqo/advanced-sneakers-activejob/pull/6) Restore Sneakers::Worker::Classes methods
48
+
49
+
50
+ ## [0.3.0](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.2.3...v0.3.0) - 2020-05-21
51
+
52
+ ### Changed
53
+ - [#5](https://github.com/veeqo/advanced-sneakers-activejob/pull/5) Publisher is extracted to [bunny-publisher](https://github.com/veeqo/bunny-publisher)
54
+
55
+
56
+ ## [0.2.3](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.2.2...v0.2.3) - 2020-04-06
57
+
58
+ ### Added
59
+ - [#4](https://github.com/veeqo/advanced-sneakers-activejob/pull/4) Support for custom adapter per job
60
+
61
+ ### Changed
62
+ - [#3](https://github.com/veeqo/advanced-sneakers-activejob/pull/3) Refactored support for ActiveJob prefix
63
+
64
+
65
+ ## [0.2.2](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.2.1...v0.2.2) - 2020-04-05
66
+
67
+ ### Fixed
68
+ - Cleanup of `puts` and logger mistakenly introduced in version `0.2.1`
69
+
70
+ ## [0.2.1](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.2.0...v0.2.1) - 2020-04-05
71
+
72
+ ### Added
73
+ - [#2](https://github.com/veeqo/advanced-sneakers-activejob/pull/2) Support queue name prefixes
74
+
75
+
76
+ ## [0.2.0](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.1.0...v0.2.0) - 2020-03-23
77
+
78
+ ### Added
79
+ - [#1](https://github.com/veeqo/advanced-sneakers-activejob/pull/1) Customizable options for message publishing (`routing_key`, `headers`, etc)
80
+
81
+
82
+ ## [0.1.0](https://github.com/veeqo/advanced-sneakers-activejob/releases/tag/v0.1.0) - 2020-03-19
83
+
84
+ ### Added
85
+ - `:advanced_sneakers` adapter for ActiveJob
data/Gemfile CHANGED
@@ -2,10 +2,6 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
-
7
- # Specify your gem's dependencies in advanced-sneakers-activejob.gemspec
8
5
  gemspec
9
6
 
10
- gem 'rails', ENV.fetch('RAILS_VERSION', '~> 4.2.11')
11
- gem 'sneakers', ENV.fetch('SNEAKERS_VERSION', '~> 2.11')
7
+ gem 'rails'
data/README.md CHANGED
@@ -34,11 +34,22 @@ Or install it yourself as:
34
34
  config.active_job.queue_adapter = :advanced_sneakers
35
35
  ```
36
36
 
37
- Run worker
37
+ Run worker for all queues of ActiveJob
38
38
  ```sh
39
39
  rake sneakers:active_job
40
40
  ```
41
41
 
42
+ Run worker for picked queues of ActiveJob
43
+ ```sh
44
+ QUEUES=mailers,foo,bar rake sneakers:active_job
45
+ ```
46
+
47
+ Wildcards are supported for queues names with "words" (separator is `.`). Algorithm is similar to the way the [topic exchange matches routing keys](https://www.rabbitmq.com/tutorials/tutorial-five-python.html). `*` (star) substitutes for exactly one word. `#` (hash) substitutes for zero or more words
48
+
49
+ ```sh
50
+ QUEUES=mailers,index.*,telemetery.# rake sneakers:active_job
51
+ ```
52
+
42
53
  ## Unrouted messages
43
54
 
44
55
  If message is published before routing has been configured (e.g. by consumer), it might be lost. To mitigate this problem the adapter uses [:mandatory](http://rubybunny.info/articles/exchanges.html#publishing_messages_as_mandatory) option for publishing messages. RabbitMQ returns unrouted messages back and the publisher is able to handle them:
@@ -30,10 +30,9 @@ Gem::Specification.new do |spec|
30
30
  spec.add_dependency 'bunny-publisher', '~> 0.1'
31
31
  spec.add_dependency 'sneakers', '~> 2.7'
32
32
 
33
+ spec.add_development_dependency 'appraisal', '~> 2.3.0'
33
34
  spec.add_development_dependency 'bundler'
34
35
  spec.add_development_dependency 'pry-byebug'
35
36
  spec.add_development_dependency 'rabbitmq_http_api_client', '~> 1.13'
36
- spec.add_development_dependency 'rails', '>= 4.2'
37
- spec.add_development_dependency 'rake'
38
- spec.add_development_dependency 'rspec'
37
+ spec.add_development_dependency 'rspec', '~> 3.0'
39
38
  end
@@ -0,0 +1,3 @@
1
+ ---
2
+ BUNDLE_RETRY: "3"
3
+ BUNDLE_JOBS: "3"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 4.2.11"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 5.2.4"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 6.0.3"
6
+
7
+ gemspec path: "../"
@@ -21,6 +21,14 @@ require 'advanced_sneakers_activejob/active_job_patch'
21
21
  require 'advanced_sneakers_activejob/railtie' if defined?(::Rails::Railtie)
22
22
  require 'active_job/queue_adapters/advanced_sneakers_adapter'
23
23
 
24
+ ActiveSupport.on_load(:active_job) do
25
+ ActiveJob::Base.include AdvancedSneakersActiveJob::ActiveJobPatch
26
+ end
27
+
28
+ ActiveSupport.on_load(:action_mailer) do
29
+ require 'action_mailer/delivery_job' # Enforce definition of ActionMailer::DeliveryJob::Consumer
30
+ end
31
+
24
32
  # Advanced Sneakers adapter for ActiveJob
25
33
  module AdvancedSneakersActiveJob
26
34
  class << self
@@ -46,11 +54,11 @@ module AdvancedSneakersActiveJob
46
54
  end
47
55
 
48
56
  def publisher
49
- @publisher ||= AdvancedSneakersActiveJob::Publisher.new(config.publisher_config)
57
+ @publisher ||= AdvancedSneakersActiveJob::Publisher.new(**config.publisher_config)
50
58
  end
51
59
 
52
60
  def delayed_publisher
53
- @delayed_publisher ||= AdvancedSneakersActiveJob::DelayedPublisher.new(config.publisher_config)
61
+ @delayed_publisher ||= AdvancedSneakersActiveJob::DelayedPublisher.new(**config.publisher_config)
54
62
  end
55
63
 
56
64
  # Based on ActiveSupport::Inflector#parameterize
@@ -68,5 +76,11 @@ module AdvancedSneakersActiveJob
68
76
 
69
77
  [parameterized_string, 'consumer'].join('_').classify
70
78
  end
79
+
80
+ def const_missing(name)
81
+ Sneakers::Worker::Classes.define_active_job_consumers
82
+
83
+ constants.include?(name) ? const_get(name) : super
84
+ end
71
85
  end
72
86
  end
@@ -3,18 +3,6 @@
3
3
  module AdvancedSneakersActiveJob
4
4
  # Rails integration
5
5
  class Railtie < ::Rails::Railtie
6
- initializer 'advanced_sneakers_activejob.discover_mailer_job' do
7
- ActiveSupport.on_load(:action_mailer) do
8
- require 'action_mailer/delivery_job' # Enforce definition of ActionMailer::DeliveryJob::Consumer
9
- end
10
- end
11
-
12
- initializer 'advanced_sneakers_activejob.discover_default_job' do
13
- ActiveSupport.on_load(:active_job) do
14
- ActiveJob::Base.include AdvancedSneakersActiveJob::ActiveJobPatch
15
- end
16
- end
17
-
18
6
  rake_tasks do
19
7
  require 'advanced_sneakers_activejob/tasks'
20
8
  end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AdvancedSneakersActiveJob
4
+ module Support
5
+ class LocateWorkersByQueues
6
+ def initialize(queues)
7
+ @queues = queues.uniq.reject(&:blank?)
8
+ @queues_without_workers = []
9
+ @workers = []
10
+ end
11
+
12
+ def call
13
+ detect_workers_for_queues!
14
+ ensure_all_workers_found!
15
+
16
+ @workers.uniq
17
+ end
18
+
19
+ private
20
+
21
+ def ensure_all_workers_found!
22
+ return if @queues_without_workers.empty?
23
+
24
+ raise("Missing workers for queues: #{@queues_without_workers.join(', ')}")
25
+ end
26
+
27
+ def all_workers
28
+ @all_workers ||= Sneakers::Worker::Classes.activejob_workers
29
+ end
30
+
31
+ def detect_workers_for_queues!
32
+ @queues.each do |queue|
33
+ matching_workers = all_workers.select { |klass| klass.queue_name.match?(queue_regex(queue)) }
34
+
35
+ if matching_workers.any?
36
+ @workers += matching_workers
37
+ else
38
+ @queues_without_workers << queue
39
+ end
40
+ end
41
+ end
42
+
43
+ # https://www.rabbitmq.com/tutorials/tutorial-five-python.html
44
+ def queue_regex(queue)
45
+ regex = Regexp.escape(queue)
46
+ .gsub(/\A\\\*|(\.)\\\*/, '\1[^\.]+') # "*" (star) substitutes for exactly one word
47
+ .sub('\.\#', '(\.[^\.]+)*') # "#" (hash) substitutes for zero or more words
48
+
49
+ Regexp.new(['\A', regex, '\z'].join)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -5,10 +5,12 @@ require 'sneakers/tasks'
5
5
  task :environment
6
6
 
7
7
  namespace :sneakers do
8
- desc 'Start work for ActiveJob only (set $WORKERS=AdvancedSneakersActiveJob::FooConsumer for processing of :foo queue)'
8
+ desc 'Start work for ActiveJob only (set $QUEUES=foo,bar.baz for processing of "foo" and "bar.baz" queues)'
9
9
  task :active_job do
10
10
  Rake::Task['environment'].invoke
11
11
 
12
+ populate_workers_by_queues if ENV['WORKERS'].blank? && ENV['QUEUES'].present?
13
+
12
14
  # Enforsing ActiveJob-only workers
13
15
  AdvancedSneakersActiveJob.configure { |c| c.activejob_workers_strategy = :only }
14
16
 
@@ -18,4 +20,14 @@ namespace :sneakers do
18
20
 
19
21
  Rake::Task['sneakers:run'].invoke
20
22
  end
23
+
24
+ def populate_workers_by_queues
25
+ require 'advanced_sneakers_activejob/support/locate_workers_by_queues'
26
+ ::Rails.application.eager_load!
27
+
28
+ queues = ENV['QUEUES'].split(',')
29
+ workers = AdvancedSneakersActiveJob::Support::LocateWorkersByQueues.new(queues).call
30
+
31
+ ENV['WORKERS'] = workers.map(&:name).join(',')
32
+ end
21
33
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AdvancedSneakersActiveJob
4
- VERSION = '0.3.1'
4
+ VERSION = '0.3.6'
5
5
  end
@@ -66,14 +66,14 @@ module AdvancedSneakersActiveJob
66
66
  call.respond_to?(method_name) || super
67
67
  end
68
68
 
69
- private
70
-
71
69
  def define_active_job_consumers
72
70
  active_job_classes_with_matching_adapter.each do |worker|
73
71
  AdvancedSneakersActiveJob.define_consumer(queue_name: worker.new.queue_name)
74
72
  end
75
73
  end
76
74
 
75
+ private
76
+
77
77
  def active_job_classes_with_matching_adapter
78
78
  ([ActiveJob::Base] + ActiveJob::Base.descendants).select do |klass|
79
79
  klass.queue_adapter == ::ActiveJob::QueueAdapters::AdvancedSneakersAdapter ||
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: advanced-sneakers-activejob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Sharshenov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-06-02 00:00:00.000000000 Z
12
+ date: 2020-09-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activejob
@@ -54,21 +54,21 @@ dependencies:
54
54
  - !ruby/object:Gem::Version
55
55
  version: '2.7'
56
56
  - !ruby/object:Gem::Dependency
57
- name: bundler
57
+ name: appraisal
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: 2.3.0
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ">="
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: 2.3.0
70
70
  - !ruby/object:Gem::Dependency
71
- name: pry-byebug
71
+ name: bundler
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
@@ -82,61 +82,47 @@ dependencies:
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
- name: rabbitmq_http_api_client
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: '1.13'
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '1.13'
98
- - !ruby/object:Gem::Dependency
99
- name: rails
85
+ name: pry-byebug
100
86
  requirement: !ruby/object:Gem::Requirement
101
87
  requirements:
102
88
  - - ">="
103
89
  - !ruby/object:Gem::Version
104
- version: '4.2'
90
+ version: '0'
105
91
  type: :development
106
92
  prerelease: false
107
93
  version_requirements: !ruby/object:Gem::Requirement
108
94
  requirements:
109
95
  - - ">="
110
96
  - !ruby/object:Gem::Version
111
- version: '4.2'
97
+ version: '0'
112
98
  - !ruby/object:Gem::Dependency
113
- name: rake
99
+ name: rabbitmq_http_api_client
114
100
  requirement: !ruby/object:Gem::Requirement
115
101
  requirements:
116
- - - ">="
102
+ - - "~>"
117
103
  - !ruby/object:Gem::Version
118
- version: '0'
104
+ version: '1.13'
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
108
  requirements:
123
- - - ">="
109
+ - - "~>"
124
110
  - !ruby/object:Gem::Version
125
- version: '0'
111
+ version: '1.13'
126
112
  - !ruby/object:Gem::Dependency
127
113
  name: rspec
128
114
  requirement: !ruby/object:Gem::Requirement
129
115
  requirements:
130
- - - ">="
116
+ - - "~>"
131
117
  - !ruby/object:Gem::Version
132
- version: '0'
118
+ version: '3.0'
133
119
  type: :development
134
120
  prerelease: false
135
121
  version_requirements: !ruby/object:Gem::Requirement
136
122
  requirements:
137
- - - ">="
123
+ - - "~>"
138
124
  - !ruby/object:Gem::Version
139
- version: '0'
125
+ version: '3.0'
140
126
  description: Advanced Sneakers adapter for ActiveJob
141
127
  email:
142
128
  - rustam@sharshenov.com
@@ -149,12 +135,17 @@ files:
149
135
  - ".rspec"
150
136
  - ".rubocop.yml"
151
137
  - ".travis.yml"
138
+ - Appraisals
152
139
  - CHANGELOG.md
153
140
  - Gemfile
154
141
  - LICENSE.txt
155
142
  - README.md
156
143
  - Rakefile
157
144
  - advanced-sneakers-activejob.gemspec
145
+ - gemfiles/.bundle/config
146
+ - gemfiles/activejob_4.2.x.gemfile
147
+ - gemfiles/activejob_5.2.x.gemfile
148
+ - gemfiles/activejob_6.0.x.gemfile
158
149
  - lib/active_job/queue_adapters/advanced_sneakers_adapter.rb
159
150
  - lib/advanced/sneakers/activejob.rb
160
151
  - lib/advanced_sneakers_activejob.rb
@@ -167,6 +158,7 @@ files:
167
158
  - lib/advanced_sneakers_activejob/handler.rb
168
159
  - lib/advanced_sneakers_activejob/publisher.rb
169
160
  - lib/advanced_sneakers_activejob/railtie.rb
161
+ - lib/advanced_sneakers_activejob/support/locate_workers_by_queues.rb
170
162
  - lib/advanced_sneakers_activejob/tasks.rb
171
163
  - lib/advanced_sneakers_activejob/version.rb
172
164
  - lib/advanced_sneakers_activejob/workers_registry.rb
@@ -192,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
184
  - !ruby/object:Gem::Version
193
185
  version: '0'
194
186
  requirements: []
195
- rubygems_version: 3.0.6
187
+ rubygems_version: 3.1.4
196
188
  signing_key:
197
189
  specification_version: 4
198
190
  summary: Advanced Sneakers adapter for ActiveJob