shinq 1.0.2 → 1.2.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: c0cdad6cb88d95c3f54ef38ac64b7db0314850912693d9f87eae2d88c59c11be
4
- data.tar.gz: aed02806856d77fda982ae5d2039be2bf4558f32e7732a6d3681299fc25aac26
3
+ metadata.gz: b1a98bea1ff59d4ac82c52fe23e23bd70605ff985dacb6a8771b2581304a69b2
4
+ data.tar.gz: a595be8097e59bc3ddebdb247e6a9e3f9e37421f1fbbf96462a54dee2b3c60fc
5
5
  SHA512:
6
- metadata.gz: 7f8e92ee4d147158524f66aa2d1bfb596abe66c0dddf49924d1e642a379f8ae30075127cee711dc535da8c97305025a983753802ead7b5f11eebccda399522f7
7
- data.tar.gz: 45ee3dcf8f20c696c078cb2db67475da5aa66160f1699b0db03108540a42cf641595f05ebd529e5110a9972e61710b7e9644e9881d74e2ffd799618a5cef3207
6
+ metadata.gz: 9b9d15ab2e0c053ad30d3508661536159a3bff7635780ff2379245e1a852f3c686804b5b98a73f53400526ef3035398311108b1eb4fd3ec8c1c281de77a80b37
7
+ data.tar.gz: 0c6b367b9667cf79495642883dcfcc96d9e651d5d6ea49887453e59ca8e010f46a462b0ce7fde9e4c3c3ba06d513b73026229da3c923867b923c612e73b2a194
@@ -0,0 +1,47 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: test
9
+
10
+ on:
11
+ push:
12
+ branches:
13
+ - master
14
+ pull_request:
15
+ branches:
16
+ - master
17
+ workflow_dispatch:
18
+
19
+ jobs:
20
+ test:
21
+
22
+ runs-on: ubuntu-latest
23
+
24
+ strategy:
25
+ max-parallel: 4
26
+ fail-fast: true
27
+ matrix:
28
+ ruby: [2.4, 2.5, 2.6, 2.7]
29
+ services:
30
+ mysql:
31
+ image: iwata/centos6-mysql56-q4m-hs
32
+ ports:
33
+ - 3306:3306
34
+ steps:
35
+ - uses: actions/checkout@v2
36
+ - name: Set up Ruby
37
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
38
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
39
+ # uses: ruby/setup-ruby@v1
40
+ uses: ruby/setup-ruby@v1
41
+ with:
42
+ bundler-cache: true
43
+ ruby-version: ${{ matrix.ruby }}
44
+ - name: Install dependencies
45
+ run: bundle install
46
+ - name: Run tests
47
+ run: bundle exec rspec
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # Shinq
2
- [![Build Status](https://travis-ci.org/ryopeko/shinq.svg)](https://travis-ci.org/ryopeko/shinq)
2
+
3
+ [![CI](https://github.com/ryopeko/shinq/workflows/test/badge.svg?event=push)](https://github.com/ryopeko/shinq/actions?query=workflow%3Atest+event%3Apush)
3
4
 
4
5
  Worker and enqueuer for Q4M using the interface of ActiveJob.
5
6
 
data/lib/shinq/client.rb CHANGED
@@ -69,7 +69,7 @@ module Shinq
69
69
  @column_names_by_table_name[table_name.to_sym] ||= begin
70
70
  quoted = SQL::Maker::Quoting.quote(table_name)
71
71
  column = Shinq.connection.query(<<-EOS).map { |record| record['column_name'] }
72
- select column_name from information_schema.columns where table_schema = database() and table_name = #{quoted}
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
75
75
  end
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.0.2'
7
+ spec.version = '1.2.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.}
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  spec.add_dependency "mysql2", ">= 0.3.16", "< 0.6"
29
29
  spec.add_dependency "sql-maker", "~> 0.0.4"
30
- spec.add_dependency "activesupport", ">= 4.2.0", "< 6"
31
- spec.add_dependency "activejob", ">= 4.2.0", "< 6"
30
+ spec.add_dependency "activesupport", ">= 4.2.0", "< 6.1"
31
+ spec.add_dependency "activejob", ">= 4.2.0", "< 6.1"
32
32
  spec.add_dependency 'serverengine', '~> 1.5.9'
33
33
  end
@@ -1,5 +1,6 @@
1
1
  test:
2
2
  encoding: utf8
3
3
  username: root
4
- host: localhost
4
+ host: 127.0.0.1
5
+ port: 3306
5
6
  database: shinq_test
@@ -1,10 +1,13 @@
1
+ CREATE DATABASE IF NOT EXISTS shinq_test;
2
+ USE shinq_test;
3
+
1
4
  DROP TABLE IF EXISTS `queue_test`;
2
5
  CREATE TABLE `queue_test` (
3
6
  `job_id` varchar(255) NOT NULL,
4
7
  `title` varchar(255),
5
8
  `scheduled_at` bigint(20) NOT NULL DEFAULT '0',
6
9
  `enqueued_at` datetime NOT NULL
7
- ) ENGINE=<%= engine %>;
10
+ ) ENGINE=QUEUE;
8
11
 
9
12
  DROP TABLE IF EXISTS `queue_test_without_scheduled_at`;
10
13
 
@@ -12,4 +15,4 @@ CREATE TABLE `queue_test_without_scheduled_at` (
12
15
  `job_id` varchar(255) NOT NULL,
13
16
  `title` varchar(255),
14
17
  `enqueued_at` datetime NOT NULL
15
- ) ENGINE=<%= engine %>;
18
+ ) ENGINE=QUEUE;
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'shinq'
3
3
  require 'shinq/client'
4
4
 
5
- describe "Integration", skip: ENV['TRAVIS'] do
5
+ describe "Integration" do
6
6
 
7
7
  before do
8
8
  Shinq.configuration = {
data/spec/spec_helper.rb CHANGED
@@ -10,7 +10,7 @@ require 'mysql2'
10
10
  require 'timecop'
11
11
 
12
12
  def load_database_config
13
- db_config = YAML.load_file(File.expand_path('./config/database.yml', __dir__)).symbolize_keys
13
+ db_config = YAML.load_file(File.expand_path('./config/database.yml', __dir__)).deep_symbolize_keys
14
14
  end
15
15
 
16
16
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
@@ -31,12 +31,13 @@ RSpec.configure do |config|
31
31
  end
32
32
 
33
33
  config.before(:suite) do
34
- # MySQL on Travis does not have Q4M plugins.
35
- # We use QUEUE engine and run Q4M specific spec (integration_spec) only when ENV['TRAVIS'] is nil.
36
- engine = ENV['TRAVIS'] ? 'InnoDB' : 'QUEUE' # Travis MySQL does not have Q4M plugins.
37
- sql = ERB.new(File.read(File.expand_path('./db/structure.sql.erb', __dir__))).result(binding)
34
+ sql = Pathname('./db/structure.sql').expand_path(__dir__).read
38
35
 
39
- connection = Mysql2::Client.new(load_database_config[:test].merge(flags: Mysql2::Client::MULTI_STATEMENTS))
36
+ config_for_setup = load_database_config[:test]
37
+ .except(:database) # To create database
38
+ .merge(flags: Mysql2::Client::MULTI_STATEMENTS)
39
+
40
+ connection = Mysql2::Client.new(config_for_setup)
40
41
  result = connection.query(sql)
41
42
 
42
43
  while connection.next_result
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shinq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryoichi SEKIGUCHI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-09 00:00:00.000000000 Z
11
+ date: 2023-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -165,7 +165,7 @@ dependencies:
165
165
  version: 4.2.0
166
166
  - - "<"
167
167
  - !ruby/object:Gem::Version
168
- version: '6'
168
+ version: '6.1'
169
169
  type: :runtime
170
170
  prerelease: false
171
171
  version_requirements: !ruby/object:Gem::Requirement
@@ -175,7 +175,7 @@ dependencies:
175
175
  version: 4.2.0
176
176
  - - "<"
177
177
  - !ruby/object:Gem::Version
178
- version: '6'
178
+ version: '6.1'
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: activejob
181
181
  requirement: !ruby/object:Gem::Requirement
@@ -185,7 +185,7 @@ dependencies:
185
185
  version: 4.2.0
186
186
  - - "<"
187
187
  - !ruby/object:Gem::Version
188
- version: '6'
188
+ version: '6.1'
189
189
  type: :runtime
190
190
  prerelease: false
191
191
  version_requirements: !ruby/object:Gem::Requirement
@@ -195,7 +195,7 @@ dependencies:
195
195
  version: 4.2.0
196
196
  - - "<"
197
197
  - !ruby/object:Gem::Version
198
- version: '6'
198
+ version: '6.1'
199
199
  - !ruby/object:Gem::Dependency
200
200
  name: serverengine
201
201
  requirement: !ruby/object:Gem::Requirement
@@ -218,9 +218,9 @@ executables:
218
218
  extensions: []
219
219
  extra_rdoc_files: []
220
220
  files:
221
+ - ".github/workflows/test.yml"
221
222
  - ".gitignore"
222
223
  - ".rspec"
223
- - ".travis.yml"
224
224
  - Gemfile
225
225
  - LICENSE.txt
226
226
  - README.md
@@ -240,7 +240,7 @@ files:
240
240
  - lib/shinq/statistics.rb
241
241
  - shinq.gemspec
242
242
  - spec/config/database.yml
243
- - spec/db/structure.sql.erb
243
+ - spec/db/structure.sql
244
244
  - spec/helpers/my_worker.rb
245
245
  - spec/integration_spec.rb
246
246
  - spec/shinq/cli_spec.rb
@@ -267,13 +267,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
267
  - !ruby/object:Gem::Version
268
268
  version: '0'
269
269
  requirements: []
270
- rubygems_version: 3.0.3
270
+ rubygems_version: 3.2.0
271
271
  signing_key:
272
272
  specification_version: 4
273
273
  summary: Worker and enqueuer for Q4M using the interface of ActiveJob.
274
274
  test_files:
275
275
  - spec/config/database.yml
276
- - spec/db/structure.sql.erb
276
+ - spec/db/structure.sql
277
277
  - spec/helpers/my_worker.rb
278
278
  - spec/integration_spec.rb
279
279
  - spec/shinq/cli_spec.rb
data/.travis.yml DELETED
@@ -1,16 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
- rvm:
5
- - 2.1
6
- - 2.2
7
- - 2.3
8
- - 2.4
9
- - 2.6
10
- - 2.7
11
- gemfile:
12
- - Gemfile
13
- before_install:
14
- - gem update bundler
15
- - mysql -e "create database IF NOT EXISTS shinq_test;" -uroot
16
- script: bundle exec rspec