shinq 1.2.0 → 1.4.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: b1a98bea1ff59d4ac82c52fe23e23bd70605ff985dacb6a8771b2581304a69b2
4
- data.tar.gz: a595be8097e59bc3ddebdb247e6a9e3f9e37421f1fbbf96462a54dee2b3c60fc
3
+ metadata.gz: 4500852828c16cc3dc647eb066a1b6ebf1851783b916bb76a4afd2e220bc9382
4
+ data.tar.gz: 943f21748666dfd25f14fcde22abe7266bd39ef989facd673c0246e38be78611
5
5
  SHA512:
6
- metadata.gz: 9b9d15ab2e0c053ad30d3508661536159a3bff7635780ff2379245e1a852f3c686804b5b98a73f53400526ef3035398311108b1eb4fd3ec8c1c281de77a80b37
7
- data.tar.gz: 0c6b367b9667cf79495642883dcfcc96d9e651d5d6ea49887453e59ca8e010f46a462b0ce7fde9e4c3c3ba06d513b73026229da3c923867b923c612e73b2a194
6
+ metadata.gz: dd06574c63da919a33f03a5242584fead594e4030584dfe6b95100911fbcfcaaed55ac25fb2a2433360f8de10bb7086ef1620286aa48db61c99adbf5e32aa3b7
7
+ data.tar.gz: 85e7f4354633f56bdc6357d8e8afd0cfbb27b1dd6a85e2784d9476a63eb4ca029cd2a08c64596100096bb5c81e1cb48b0ac7c39b3cc1288a60d277e1db35e2bc
@@ -18,17 +18,46 @@ on:
18
18
 
19
19
  jobs:
20
20
  test:
21
-
22
21
  runs-on: ubuntu-latest
23
-
24
22
  strategy:
25
23
  max-parallel: 4
26
24
  fail-fast: true
27
25
  matrix:
28
- ruby: [2.4, 2.5, 2.6, 2.7]
26
+ # We test only the oldest and latest Ruby versions for each Rails version.
27
+ ruby_gemfile:
28
+ - gemfile: gemfiles/rails_7.0.gemfile
29
+ ruby: '2.7'
30
+ - gemfile: gemfiles/rails_7.0.gemfile
31
+ ruby: '3.3'
32
+
33
+ - gemfile: gemfiles/rails_7.1.gemfile
34
+ ruby: '2.7'
35
+ - gemfile: gemfiles/rails_7.1.gemfile
36
+ ruby: '3.4'
37
+
38
+ - gemfile: gemfiles/rails_7.2.gemfile
39
+ ruby: '3.1'
40
+ - gemfile: gemfiles/rails_7.2.gemfile
41
+ ruby: '3.4'
42
+
43
+ - gemfile: gemfiles/rails_8.0.gemfile
44
+ ruby: '3.2'
45
+ - gemfile: gemfiles/rails_8.0.gemfile
46
+ ruby: '3.4'
47
+
48
+ - gemfile: gemfiles/rails_8.1.gemfile
49
+ ruby: '3.2'
50
+ - gemfile: gemfiles/rails_8.1.gemfile
51
+ ruby: '3.4'
52
+ adapter:
53
+ - trilogy
54
+ - mysql2
55
+ env:
56
+ BUNDLE_GEMFILE: ${{ matrix.ruby_gemfile.gemfile }}
29
57
  services:
30
58
  mysql:
31
- image: iwata/centos6-mysql56-q4m-hs
59
+ # https://github.com/DeNA/ubuntu22-mysql-q4m
60
+ image: ghcr.io/dena/ubuntu22-mysql-q4m:8.0.28-6bc571978335b6304566c8df4a5ff7e2b2d9911f
32
61
  ports:
33
62
  - 3306:3306
34
63
  steps:
@@ -40,8 +69,10 @@ jobs:
40
69
  uses: ruby/setup-ruby@v1
41
70
  with:
42
71
  bundler-cache: true
43
- ruby-version: ${{ matrix.ruby }}
72
+ ruby-version: ${{ matrix.ruby_gemfile.ruby }}
44
73
  - name: Install dependencies
45
74
  run: bundle install
46
75
  - name: Run tests
76
+ env:
77
+ SHINQ_TEST_ADAPTER: ${{ matrix.adapter }}
47
78
  run: bundle exec rspec
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
3
  /Gemfile.lock
4
+ /gemfiles/*.lock
4
5
  /_yardoc/
5
6
  /coverage/
6
7
  /doc/
@@ -11,4 +12,5 @@
11
12
  *.so
12
13
  *.o
13
14
  *.a
15
+ /.idea/
14
16
  mkmf.log
data/Appraisals ADDED
@@ -0,0 +1,37 @@
1
+ # Every Minor Version for the Current and Last Major Releases
2
+ # Latest Minor Version for the Older Releases.
3
+ # https://guides.rubyonrails.org/maintenance_policy.html
4
+ #
5
+ # When you update this, do not forget to update CI settings for matrix testing.
6
+
7
+ # # Since bundler v1 and Appraisals are not well interacted,
8
+ # # we do not test the rails-4 here.
9
+ # appraise "rails-4" do
10
+ # gem "rails", "~> 4.0"
11
+ # end
12
+
13
+ appraise "rails-7.0" do
14
+ gem "activesupport", "~> 7.0.0"
15
+ gem "activejob", "~> 7.0.0"
16
+ gem 'concurrent-ruby', '1.3.4' # https://stackoverflow.com/a/79361034
17
+ end
18
+
19
+ appraise "rails-7.1" do
20
+ gem "activesupport", "~> 7.1.0"
21
+ gem "activejob", "~> 7.1.0"
22
+ end
23
+
24
+ appraise "rails-7.2" do
25
+ gem "activesupport", "~> 7.2.0"
26
+ gem "activejob", "~> 7.2.0"
27
+ end
28
+
29
+ appraise "rails-8.0" do
30
+ gem "activesupport", "~> 8.0.0"
31
+ gem "activejob", "~> 8.0.0"
32
+ end
33
+
34
+ appraise "rails-8.1" do
35
+ gem "activesupport", "~> 8.1.0"
36
+ gem "activejob", "~> 8.1.0"
37
+ end
data/README.md CHANGED
@@ -6,9 +6,10 @@ Worker and enqueuer for Q4M using the interface of ActiveJob.
6
6
 
7
7
  ## Installation
8
8
 
9
- Add this line to your application's Gemfile:
9
+ Add these lines to your application's Gemfile:
10
10
 
11
11
  ```ruby
12
+ gem 'mysql2' # or gem 'trilogy'
12
13
  gem 'shinq'
13
14
  ```
14
15
 
@@ -18,7 +19,7 @@ And then execute:
18
19
 
19
20
  Or install it yourself as:
20
21
 
21
- $ gem install shinq
22
+ $ gem install mysql2 shinq
22
23
 
23
24
  [Install Q4M](http://q4m.github.io/install.html)
24
25
 
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 7.0.0"
6
+ gem "activejob", "~> 7.0.0"
7
+ gem "concurrent-ruby", "1.3.4"
8
+
9
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 7.1.0"
6
+ gem "activejob", "~> 7.1.0"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 7.2.0"
6
+ gem "activejob", "~> 7.2.0"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 8.0.0"
6
+ gem "activejob", "~> 8.0.0"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 8.1.0"
6
+ gem "activejob", "~> 8.1.0"
7
+
8
+ gemspec path: "../"
data/lib/shinq/client.rb CHANGED
@@ -36,11 +36,11 @@ module Shinq
36
36
  wait_query = "queue_wait(#{quoted}, #{queue_timeout_quoted})"
37
37
  has_queue = Shinq.connection.query("select #{wait_query}").first
38
38
 
39
- unless has_queue[wait_query].to_i == 0
39
+ unless has_queue[0].to_i == 0
40
40
  sql = builder.select(table_name, ['*'])
41
41
  results = Shinq.connection.query(sql)
42
42
  # select always returns 1 line in the owner (queue_wait) mode
43
- return results.first.symbolize_keys
43
+ return results.fields.map(&:to_sym).zip(results.each.first).to_h
44
44
  end
45
45
  end
46
46
 
@@ -50,7 +50,7 @@ module Shinq
50
50
  stats_query = "queue_stats(#{quoted})"
51
51
  result = Shinq.connection.query("select #{stats_query}")
52
52
 
53
- stats = result.first[stats_query].split(/\n/).each_with_object({}) do |s, h|
53
+ stats = result.first[0].split(/\n/).each_with_object({}) do |s, h|
54
54
  (k,v) = s.split(/:/)
55
55
  h[k.to_sym] = v.to_i
56
56
  end
@@ -68,7 +68,7 @@ module Shinq
68
68
  @column_names_by_table_name ||= {}
69
69
  @column_names_by_table_name[table_name.to_sym] ||= begin
70
70
  quoted = SQL::Maker::Quoting.quote(table_name)
71
- column = Shinq.connection.query(<<-EOS).map { |record| record['column_name'] }
71
+ column = Shinq.connection.query(<<-EOS).map { |record| record[0] }
72
72
  select column_name as column_name from information_schema.columns where table_schema = database() and table_name = #{quoted}
73
73
  EOS
74
74
  end
data/lib/shinq.rb CHANGED
@@ -1,4 +1,3 @@
1
- require 'mysql2'
2
1
  require 'shinq/client'
3
2
  require 'shinq/configuration'
4
3
 
@@ -23,8 +22,20 @@ module Shinq
23
22
  end
24
23
 
25
24
  def self.setup_db_connection(db_name)
26
- raise Shinq::ConfigurationError unless self.configuration.db_defined?(db_name)
27
- @connections[db_name.to_sym] = Mysql2::Client.new(self.configuration.db_config[db_name])
25
+ raise Shinq::ConfigurationError, "#{db_name.inspect} is not defined in configuration" unless self.configuration.db_defined?(db_name)
26
+
27
+ db_config = self.configuration.db_config[db_name]
28
+ @connections[db_name.to_sym] =
29
+ case db_config[:adapter]
30
+ when 'trilogy'
31
+ require 'trilogy'
32
+ Trilogy.new(db_config.dup)
33
+ when 'mysql2', nil # for backward compatibility, we use mysql2 when adapter is not specified
34
+ require 'mysql2'
35
+ Mysql2::Client.new(db_config.merge(as: :array))
36
+ else
37
+ raise "Unsupported adapter: #{db_config[:adapter]}. Only trilogy and mysql2 are supported."
38
+ end
28
39
  end
29
40
 
30
41
  def self.connection(db_name: self.default_db)
data/shinq.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "shinq"
7
- spec.version = '1.2.0'
7
+ spec.version = '1.4.0'
8
8
  spec.authors = ["Ryoichi SEKIGUCHI"]
9
9
  spec.email = ["ryopeko@gmail.com"]
10
10
  spec.summary = %q{Worker and enqueuer for Q4M using the interface of ActiveJob.}
@@ -16,18 +16,22 @@ Gem::Specification.new do |spec|
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
17
  spec.require_paths = ["lib"]
18
18
 
19
- spec.add_development_dependency "bundler"
20
- spec.add_development_dependency "rake", "~> 10.0"
19
+ spec.required_ruby_version = ">= 2.3"
20
+
21
+ spec.add_development_dependency "rake"
21
22
  spec.add_development_dependency "pry"
22
23
  spec.add_development_dependency "tapp"
23
24
  spec.add_development_dependency "rspec"
24
25
  spec.add_development_dependency "rspec-mocks"
25
26
  spec.add_development_dependency "simplecov"
26
27
  spec.add_development_dependency "timecop"
28
+ spec.add_development_dependency "appraisal"
29
+ spec.add_development_dependency "trilogy"
30
+ spec.add_development_dependency "mysql2"
31
+
32
+ spec.add_dependency "sql-maker", ">= 0.0.4", "< 2"
33
+ spec.add_dependency 'serverengine', ">= 1.5.9", "< 3"
27
34
 
28
- spec.add_dependency "mysql2", ">= 0.3.16", "< 0.6"
29
- spec.add_dependency "sql-maker", "~> 0.0.4"
30
- spec.add_dependency "activesupport", ">= 4.2.0", "< 6.1"
31
- spec.add_dependency "activejob", ">= 4.2.0", "< 6.1"
32
- spec.add_dependency 'serverengine', '~> 1.5.9'
35
+ spec.add_dependency "activesupport", ">= 4.2.0"
36
+ spec.add_dependency "activejob", ">= 4.2.0"
33
37
  end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'shinq'
3
3
  require 'shinq/client'
4
+ require 'securerandom'
4
5
 
5
6
  describe "Integration" do
6
7
 
@@ -13,7 +14,7 @@ describe "Integration" do
13
14
 
14
15
  after do
15
16
  Shinq.clear_all_connections! # Return from owner mode
16
- tables = Shinq.connection.query('show tables').flat_map(&:values)
17
+ tables = Shinq.connection.query('show tables').to_a.flatten
17
18
  tables.each do |table|
18
19
  Shinq.connection.query("delete from #{table}")
19
20
  end
@@ -126,12 +127,12 @@ describe "Integration" do
126
127
  args: {title: 'foo'}
127
128
  )
128
129
 
129
- @queue_count = Shinq.connection.query("select count(*) as c from #{queue_table}").first['c']
130
+ @queue_count = Shinq.connection.query("select count(*) as c from #{queue_table}").first.first
130
131
 
131
132
  Shinq::Client.dequeue(table_name: queue_table)
132
133
  Shinq::Client.abort
133
134
 
134
- @after_queue_count = Shinq.connection.query("select count(*) as c from #{queue_table}").first['c']
135
+ @after_queue_count = Shinq.connection.query("select count(*) as c from #{queue_table}").first.first
135
136
  end
136
137
 
137
138
  it { expect(@after_queue_count).to be @queue_count }
@@ -34,13 +34,13 @@ describe Shinq::Client do
34
34
 
35
35
  describe '.column_names' do
36
36
  it 'fetches column_names' do
37
- expect(shinq_client.column_names(table_name: :queue_test)).to eq(['job_id', 'title', 'scheduled_at', 'enqueued_at'])
37
+ expect(shinq_client.column_names(table_name: :queue_test).sort).to eq(['job_id', 'title', 'scheduled_at', 'enqueued_at'].sort)
38
38
  end
39
39
  end
40
40
 
41
41
  describe 'fetch_column_names' do
42
42
  it 'fetches column_names' do
43
- expect(shinq_client.fetch_column_names(table_name: :queue_test)).to eq(['job_id', 'title', 'scheduled_at', 'enqueued_at'])
43
+ expect(shinq_client.fetch_column_names(table_name: :queue_test).sort).to eq(['job_id', 'title', 'scheduled_at', 'enqueued_at'].sort)
44
44
  end
45
45
  end
46
46
  end
data/spec/shinq_spec.rb CHANGED
@@ -64,7 +64,14 @@ describe Shinq do
64
64
 
65
65
  it do
66
66
  shinq.connection(db_name: :test)
67
- expect(shinq.connection(db_name: :test)).to be_a_kind_of(Mysql2::Client)
67
+ case shinq.configuration.default_db_config[:adapter]
68
+ when 'mysql2'
69
+ expect(shinq.connection(db_name: :test)).to be_a_kind_of(Mysql2::Client)
70
+ when 'trilogy'
71
+ expect(shinq.connection(db_name: :test)).to be_a_kind_of(Trilogy)
72
+ else
73
+ raise "Unexpected adapter: #{shinq.configuration.default_db_config[:adapter]}"
74
+ end
68
75
  end
69
76
  end
70
77
  end
@@ -83,7 +90,17 @@ describe Shinq do
83
90
 
84
91
  it 'closes connection' do
85
92
  shinq.clear_all_connections!
86
- expect(connection.ping).to be false
93
+
94
+ # Trilogy raises an exception while mysql2 returns false
95
+ # see: https://github.com/trilogy-libraries/trilogy/pull/145
96
+ case shinq.configuration.default_db_config[:adapter]
97
+ when 'trilogy'
98
+ expect { connection.ping }.to raise_error Trilogy::ConnectionClosed
99
+ when 'mysql2'
100
+ expect(connection.ping).to eq false
101
+ else
102
+ raise "Unexpected adapter: #{shinq.configuration.default_db_config[:adapter]}"
103
+ end
87
104
  end
88
105
 
89
106
  it 'clears connection cache' do
data/spec/spec_helper.rb CHANGED
@@ -5,12 +5,14 @@ require 'rspec/mocks/standalone'
5
5
  require 'simplecov'
6
6
  require 'erb'
7
7
  require 'yaml'
8
+ require 'active_support'
8
9
  require 'active_support/core_ext/hash'
10
+ require 'active_support/core_ext/numeric/time'
9
11
  require 'mysql2'
10
12
  require 'timecop'
11
13
 
12
- def load_database_config
13
- db_config = YAML.load_file(File.expand_path('./config/database.yml', __dir__)).deep_symbolize_keys
14
+ def load_database_config(adapter: ENV.fetch('SHINQ_TEST_ADAPTER', 'trilogy'))
15
+ YAML.load_file(File.expand_path('./config/database.yml', __dir__)).deep_symbolize_keys.deep_merge(test: { adapter: adapter })
14
16
  end
15
17
 
16
18
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
metadata CHANGED
@@ -1,17 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shinq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryoichi SEKIGUCHI
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-02-03 00:00:00.000000000 Z
10
+ date: 2025-11-04 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: bundler
13
+ name: rake
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
@@ -25,21 +24,21 @@ dependencies:
25
24
  - !ruby/object:Gem::Version
26
25
  version: '0'
27
26
  - !ruby/object:Gem::Dependency
28
- name: rake
27
+ name: pry
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
- - - "~>"
30
+ - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: '10.0'
32
+ version: '0'
34
33
  type: :development
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
- - - "~>"
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: '10.0'
39
+ version: '0'
41
40
  - !ruby/object:Gem::Dependency
42
- name: pry
41
+ name: tapp
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - ">="
@@ -53,7 +52,7 @@ dependencies:
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
54
  - !ruby/object:Gem::Dependency
56
- name: tapp
55
+ name: rspec
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - ">="
@@ -67,7 +66,7 @@ dependencies:
67
66
  - !ruby/object:Gem::Version
68
67
  version: '0'
69
68
  - !ruby/object:Gem::Dependency
70
- name: rspec
69
+ name: rspec-mocks
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - ">="
@@ -81,7 +80,7 @@ dependencies:
81
80
  - !ruby/object:Gem::Version
82
81
  version: '0'
83
82
  - !ruby/object:Gem::Dependency
84
- name: rspec-mocks
83
+ name: simplecov
85
84
  requirement: !ruby/object:Gem::Requirement
86
85
  requirements:
87
86
  - - ">="
@@ -95,7 +94,7 @@ dependencies:
95
94
  - !ruby/object:Gem::Version
96
95
  version: '0'
97
96
  - !ruby/object:Gem::Dependency
98
- name: simplecov
97
+ name: timecop
99
98
  requirement: !ruby/object:Gem::Requirement
100
99
  requirements:
101
100
  - - ">="
@@ -109,7 +108,7 @@ dependencies:
109
108
  - !ruby/object:Gem::Version
110
109
  version: '0'
111
110
  - !ruby/object:Gem::Dependency
112
- name: timecop
111
+ name: appraisal
113
112
  requirement: !ruby/object:Gem::Requirement
114
113
  requirements:
115
114
  - - ">="
@@ -123,69 +122,80 @@ dependencies:
123
122
  - !ruby/object:Gem::Version
124
123
  version: '0'
125
124
  - !ruby/object:Gem::Dependency
126
- name: mysql2
125
+ name: trilogy
127
126
  requirement: !ruby/object:Gem::Requirement
128
127
  requirements:
129
128
  - - ">="
130
129
  - !ruby/object:Gem::Version
131
- version: 0.3.16
132
- - - "<"
133
- - !ruby/object:Gem::Version
134
- version: '0.6'
135
- type: :runtime
130
+ version: '0'
131
+ type: :development
136
132
  prerelease: false
137
133
  version_requirements: !ruby/object:Gem::Requirement
138
134
  requirements:
139
135
  - - ">="
140
136
  - !ruby/object:Gem::Version
141
- version: 0.3.16
142
- - - "<"
137
+ version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: mysql2
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
143
150
  - !ruby/object:Gem::Version
144
- version: '0.6'
151
+ version: '0'
145
152
  - !ruby/object:Gem::Dependency
146
153
  name: sql-maker
147
154
  requirement: !ruby/object:Gem::Requirement
148
155
  requirements:
149
- - - "~>"
156
+ - - ">="
150
157
  - !ruby/object:Gem::Version
151
158
  version: 0.0.4
159
+ - - "<"
160
+ - !ruby/object:Gem::Version
161
+ version: '2'
152
162
  type: :runtime
153
163
  prerelease: false
154
164
  version_requirements: !ruby/object:Gem::Requirement
155
165
  requirements:
156
- - - "~>"
166
+ - - ">="
157
167
  - !ruby/object:Gem::Version
158
168
  version: 0.0.4
169
+ - - "<"
170
+ - !ruby/object:Gem::Version
171
+ version: '2'
159
172
  - !ruby/object:Gem::Dependency
160
- name: activesupport
173
+ name: serverengine
161
174
  requirement: !ruby/object:Gem::Requirement
162
175
  requirements:
163
176
  - - ">="
164
177
  - !ruby/object:Gem::Version
165
- version: 4.2.0
178
+ version: 1.5.9
166
179
  - - "<"
167
180
  - !ruby/object:Gem::Version
168
- version: '6.1'
181
+ version: '3'
169
182
  type: :runtime
170
183
  prerelease: false
171
184
  version_requirements: !ruby/object:Gem::Requirement
172
185
  requirements:
173
186
  - - ">="
174
187
  - !ruby/object:Gem::Version
175
- version: 4.2.0
188
+ version: 1.5.9
176
189
  - - "<"
177
190
  - !ruby/object:Gem::Version
178
- version: '6.1'
191
+ version: '3'
179
192
  - !ruby/object:Gem::Dependency
180
- name: activejob
193
+ name: activesupport
181
194
  requirement: !ruby/object:Gem::Requirement
182
195
  requirements:
183
196
  - - ">="
184
197
  - !ruby/object:Gem::Version
185
198
  version: 4.2.0
186
- - - "<"
187
- - !ruby/object:Gem::Version
188
- version: '6.1'
189
199
  type: :runtime
190
200
  prerelease: false
191
201
  version_requirements: !ruby/object:Gem::Requirement
@@ -193,24 +203,20 @@ dependencies:
193
203
  - - ">="
194
204
  - !ruby/object:Gem::Version
195
205
  version: 4.2.0
196
- - - "<"
197
- - !ruby/object:Gem::Version
198
- version: '6.1'
199
206
  - !ruby/object:Gem::Dependency
200
- name: serverengine
207
+ name: activejob
201
208
  requirement: !ruby/object:Gem::Requirement
202
209
  requirements:
203
- - - "~>"
210
+ - - ">="
204
211
  - !ruby/object:Gem::Version
205
- version: 1.5.9
212
+ version: 4.2.0
206
213
  type: :runtime
207
214
  prerelease: false
208
215
  version_requirements: !ruby/object:Gem::Requirement
209
216
  requirements:
210
- - - "~>"
217
+ - - ">="
211
218
  - !ruby/object:Gem::Version
212
- version: 1.5.9
213
- description:
219
+ version: 4.2.0
214
220
  email:
215
221
  - ryopeko@gmail.com
216
222
  executables:
@@ -221,11 +227,17 @@ files:
221
227
  - ".github/workflows/test.yml"
222
228
  - ".gitignore"
223
229
  - ".rspec"
230
+ - Appraisals
224
231
  - Gemfile
225
232
  - LICENSE.txt
226
233
  - README.md
227
234
  - Rakefile
228
235
  - bin/shinq
236
+ - gemfiles/rails_7.0.gemfile
237
+ - gemfiles/rails_7.1.gemfile
238
+ - gemfiles/rails_7.2.gemfile
239
+ - gemfiles/rails_8.0.gemfile
240
+ - gemfiles/rails_8.1.gemfile
229
241
  - lib/generators/shinq/worker/templates/create_table_migration.erb
230
242
  - lib/generators/shinq/worker/templates/worker.erb
231
243
  - lib/generators/shinq/worker/worker_generator.rb
@@ -252,7 +264,6 @@ homepage: https://github.com/ryopeko/shinq
252
264
  licenses:
253
265
  - MIT
254
266
  metadata: {}
255
- post_install_message:
256
267
  rdoc_options: []
257
268
  require_paths:
258
269
  - lib
@@ -260,15 +271,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
260
271
  requirements:
261
272
  - - ">="
262
273
  - !ruby/object:Gem::Version
263
- version: '0'
274
+ version: '2.3'
264
275
  required_rubygems_version: !ruby/object:Gem::Requirement
265
276
  requirements:
266
277
  - - ">="
267
278
  - !ruby/object:Gem::Version
268
279
  version: '0'
269
280
  requirements: []
270
- rubygems_version: 3.2.0
271
- signing_key:
281
+ rubygems_version: 3.6.2
272
282
  specification_version: 4
273
283
  summary: Worker and enqueuer for Q4M using the interface of ActiveJob.
274
284
  test_files: