pgdice 1.0.2 → 2.0.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 +4 -4
- data/.github/workflows/gem-push.yml +20 -0
- data/.github/workflows/ruby.yml +62 -0
- data/.rubocop.yml +7 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +10 -0
- data/README.md +1 -4
- data/lib/pgdice/approved_tables.rb +3 -2
- data/lib/pgdice/configuration.rb +5 -5
- data/lib/pgdice/configuration_file_loader.rb +1 -1
- data/lib/pgdice/date_helper.rb +2 -2
- data/lib/pgdice/error.rb +2 -2
- data/lib/pgdice/partition_dropper.rb +1 -1
- data/lib/pgdice/pg_slice_manager.rb +1 -1
- data/lib/pgdice/table.rb +2 -2
- data/lib/pgdice/version.rb +1 -1
- data/pgdice.gemspec +26 -22
- metadata +110 -89
- data/.circleci/config.yml +0 -66
- data/.github/workflows/gempush.yml +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a9a4ad3435e9d6a9590f0a40a9d9e0329a2d2719ca92b9781f10b301311d31b
|
4
|
+
data.tar.gz: 80840f0d48445932a5fd6fe1a908c7e51c5cbbac1d171ea1fdd3c406052b9f63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e92d88f79eb9630b5e73e89b2b3191ba24699a6845e75e98cc2c25d9027adc4cbeb1981485f229daf5286e6b2e7f0b43b54d4c6c793fe3d33896be19ad1b8416
|
7
|
+
data.tar.gz: bfdac98da6f9b8b59f8188bfacb48106683761f651af387497bce7096047022b7e2b621803394779063afaf93626256a3b3fdfacd8fd5aca6d23890b08fe78c0
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Publish Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- master
|
7
|
+
jobs:
|
8
|
+
build:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v1
|
13
|
+
|
14
|
+
- name: Release Gem
|
15
|
+
if: contains(github.ref, 'refs/tags/v')
|
16
|
+
uses: cadwallion/publish-rubygems-action@master
|
17
|
+
env:
|
18
|
+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
19
|
+
RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
|
20
|
+
RELEASE_COMMAND: rake release
|
@@ -0,0 +1,62 @@
|
|
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: Ruby
|
9
|
+
|
10
|
+
on:
|
11
|
+
push:
|
12
|
+
branches: [ master ]
|
13
|
+
pull_request:
|
14
|
+
branches: [ master ]
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test:
|
18
|
+
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
strategy:
|
21
|
+
matrix:
|
22
|
+
ruby-version: ['3.0']
|
23
|
+
|
24
|
+
services:
|
25
|
+
# Label used to access the service container
|
26
|
+
postgres:
|
27
|
+
# Docker Hub image
|
28
|
+
image: postgres
|
29
|
+
# Provide the password for postgres
|
30
|
+
env:
|
31
|
+
POSTGRES_USER: pgdice
|
32
|
+
POSTGRES_DB: pgdice_test
|
33
|
+
POSTGRES_PASSWORD: password
|
34
|
+
# Set health checks to wait until postgres has started
|
35
|
+
options: >-
|
36
|
+
--health-cmd pg_isready
|
37
|
+
--health-interval 10s
|
38
|
+
--health-timeout 5s
|
39
|
+
--health-retries 5
|
40
|
+
ports:
|
41
|
+
- 5432:5432
|
42
|
+
|
43
|
+
steps:
|
44
|
+
- uses: actions/checkout@v2
|
45
|
+
- name: Set up Ruby
|
46
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
47
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
48
|
+
# uses: ruby/setup-ruby@v1
|
49
|
+
uses: ruby/setup-ruby@v1
|
50
|
+
with:
|
51
|
+
ruby-version: ${{ matrix.ruby-version }}
|
52
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
53
|
+
# - name: Rubocop # This is blowing up with some stupid panolint gem missing - I have no mention of this anywhere.
|
54
|
+
# run: bundle exec rubocop
|
55
|
+
|
56
|
+
- name: Run tests
|
57
|
+
run: bundle exec rake
|
58
|
+
env:
|
59
|
+
DATABASE_HOST: localhost
|
60
|
+
DATABASE_USERNAME: pgdice
|
61
|
+
DATABASE_PASSWORD: password
|
62
|
+
PGDICE_LOG_TARGET: STDOUT
|
data/.rubocop.yml
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
|
1
|
+
require:
|
2
|
+
- rubocop-performance
|
3
|
+
- rubocop-rake
|
4
|
+
|
5
|
+
Layout/LineLength:
|
2
6
|
Max: 120
|
3
7
|
|
4
8
|
Metrics/BlockLength:
|
@@ -11,5 +15,7 @@ Metrics/ParameterLists:
|
|
11
15
|
- lib/pgdice/table.rb
|
12
16
|
|
13
17
|
AllCops:
|
18
|
+
NewCops: enable
|
19
|
+
SuggestExtensions: false
|
14
20
|
Exclude:
|
15
21
|
- 'examples/**/*'
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-
|
1
|
+
ruby-3.0.3
|
data/CHANGELOG.md
CHANGED
@@ -2,11 +2,21 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## [v2.0.0] : 2022-02-09
|
6
|
+
### Changes
|
7
|
+
- Bump `pg` to `~> 1.3.1`
|
8
|
+
- Bump `pgslice` to `0.4.7`
|
9
|
+
- Bump various development dependencies
|
10
|
+
- Rubocop project
|
11
|
+
- Add `required_ruby_version >= 3.0.0`
|
12
|
+
|
13
|
+
|
5
14
|
## [v1.0.1] : 2020-01-31
|
6
15
|
### Changes
|
7
16
|
- Added better examples/docs.
|
8
17
|
- Bump `pg` to `~> 1.2.2`
|
9
18
|
|
19
|
+
|
10
20
|
## [v0.4.3] : 2019-04-23
|
11
21
|
### Changes
|
12
22
|
- Fix #31 where the new connection retry code was eagerly initializing the logger
|
data/README.md
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
[](https://coveralls.io/github/IlluminusLimited/pgdice?branch=master)
|
3
|
-
[](https://codeclimate.com/github/IlluminusLimited/pgdice/maintainability)
|
1
|
+
[](https://github.com/IlluminusLimited/pgdice/actions/workflows/ruby.yml)[](https://codeclimate.com/github/IlluminusLimited/pgdice/maintainability)
|
4
2
|
[](https://codeclimate.com/github/IlluminusLimited/pgdice/test_coverage)
|
5
3
|
[](https://badge.fury.io/rb/pgdice)
|
6
4
|
|
@@ -52,7 +50,6 @@ PgDice.configure do |config|
|
|
52
50
|
|
53
51
|
# Set a config file or build the tables manually
|
54
52
|
config.config_file = Rails.root.join('config', 'pgdice.yml') # If you are using rails, else provide the absolute path.
|
55
|
-
config.config_file = Rails.root.join('config', 'pgdice.yml') # If you are using rails, else provide the absolute path.
|
56
53
|
# and/or
|
57
54
|
config.approved_tables = PgDice::ApprovedTables.new(
|
58
55
|
PgDice::Table.new(table_name: 'comments', past: 90, future: 7, period: 'day'),
|
@@ -4,6 +4,7 @@ module PgDice
|
|
4
4
|
# Hash-like object to contain approved tables. Adds some convenience validation and a simpleish interface.
|
5
5
|
class ApprovedTables
|
6
6
|
attr_reader :tables
|
7
|
+
|
7
8
|
extend Forwardable
|
8
9
|
|
9
10
|
def_delegators :@tables, :size, :empty?, :map, :each, :each_with_index, :to_a
|
@@ -11,12 +12,12 @@ module PgDice
|
|
11
12
|
def initialize(*args)
|
12
13
|
@tables = args.flatten.compact
|
13
14
|
|
14
|
-
raise ArgumentError, 'Objects must be a PgDice::Table!' unless tables.all?
|
15
|
+
raise ArgumentError, 'Objects must be a PgDice::Table!' unless tables.all?(PgDice::Table)
|
15
16
|
end
|
16
17
|
|
17
18
|
def [](arg)
|
18
19
|
key = check_string_args(arg)
|
19
|
-
tables.
|
20
|
+
tables.find { |table| table.name == key }
|
20
21
|
end
|
21
22
|
|
22
23
|
def include?(arg)
|
data/lib/pgdice/configuration.rb
CHANGED
@@ -14,10 +14,10 @@ module PgDice
|
|
14
14
|
|
15
15
|
# Configuration class which holds all configurable values
|
16
16
|
class Configuration
|
17
|
-
DEFAULT_VALUES
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
DEFAULT_VALUES = { logger_factory: proc { Logger.new($stdout) },
|
18
|
+
database_url: nil,
|
19
|
+
dry_run: false,
|
20
|
+
batch_size: 7 }.freeze
|
21
21
|
|
22
22
|
attr_writer :logger,
|
23
23
|
:logger_factory,
|
@@ -63,7 +63,7 @@ module PgDice
|
|
63
63
|
raise PgDice::InvalidConfigurationError, 'approved_tables must be an instance of PgDice::ApprovedTables!'
|
64
64
|
end
|
65
65
|
|
66
|
-
if !config_file_loader.file_loaded? && config_file.
|
66
|
+
if !config_file_loader.file_loaded? && !config_file.nil?
|
67
67
|
config_file_loader.load_file
|
68
68
|
@approved_tables
|
69
69
|
end
|
@@ -17,7 +17,7 @@ module PgDice
|
|
17
17
|
end
|
18
18
|
@config_loader = opts[:config_loader] ||= lambda do |file|
|
19
19
|
logger.debug { "Loading PgDice configuration file: '#{config_file}'" }
|
20
|
-
YAML.safe_load(ERB.new(
|
20
|
+
YAML.safe_load(ERB.new(File.read(file)).result)
|
21
21
|
end
|
22
22
|
@file_loaded = opts[:file_loaded]
|
23
23
|
end
|
data/lib/pgdice/date_helper.rb
CHANGED
data/lib/pgdice/error.rb
CHANGED
@@ -25,7 +25,7 @@ module PgDice
|
|
25
25
|
class InsufficientTablesError < Error
|
26
26
|
def initialize(direction, table_name, expected, period, found_count)
|
27
27
|
super("Insufficient #{direction} tables exist for table: #{table_name}. "\
|
28
|
-
|
28
|
+
"Expected: #{expected} having period of: #{period} but found: #{found_count}")
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -51,7 +51,7 @@ module PgDice
|
|
51
51
|
class NotConfiguredError < ConfigurationError
|
52
52
|
def initialize(method_name)
|
53
53
|
super("Cannot use #{method_name} before PgDice has been configured! "\
|
54
|
-
|
54
|
+
'See README.md for configuration help.')
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
@@ -97,7 +97,7 @@ module PgDice
|
|
97
97
|
if status.to_i.positive?
|
98
98
|
raise PgDice::PgSliceError,
|
99
99
|
"pgslice with arguments: '#{argument_string}' failed with status: '#{status}' "\
|
100
|
-
|
100
|
+
"STDOUT: '#{stdout}' STDERR: '#{stderr}'"
|
101
101
|
end
|
102
102
|
true
|
103
103
|
end
|
data/lib/pgdice/table.rb
CHANGED
@@ -70,7 +70,7 @@ module PgDice
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def self.from_hash(hash)
|
73
|
-
Table.new(**hash.
|
73
|
+
Table.new(**hash.transform_keys(&:to_sym))
|
74
74
|
end
|
75
75
|
|
76
76
|
private
|
@@ -79,7 +79,7 @@ module PgDice
|
|
79
79
|
unless send(field).is_a?(expected_type)
|
80
80
|
raise ArgumentError,
|
81
81
|
"PgDice::Table: #{name} failed validation on field: #{field}. "\
|
82
|
-
|
82
|
+
"Expected type of: #{expected_type} but found #{send(field).class}"
|
83
83
|
end
|
84
84
|
true
|
85
85
|
end
|
data/lib/pgdice/version.rb
CHANGED
data/pgdice.gemspec
CHANGED
@@ -5,39 +5,43 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
require 'pgdice/version'
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
|
-
spec.name
|
9
|
-
spec.version
|
10
|
-
spec.authors
|
11
|
-
spec.email
|
12
|
-
|
13
|
-
spec.
|
14
|
-
spec.
|
15
|
-
spec.
|
16
|
-
spec.license = 'MIT'
|
8
|
+
spec.name = 'pgdice'
|
9
|
+
spec.version = PgDice::VERSION
|
10
|
+
spec.authors = ['Andrew Newell']
|
11
|
+
spec.email = ['andrew@illuminusltd.com']
|
12
|
+
spec.summary = 'Postgres table partitioning with a Ruby API!'
|
13
|
+
spec.description = 'Postgres table partitioning with a Ruby API built on top of https://github.com/ankane/pgslice'
|
14
|
+
spec.homepage = 'https://github.com/IlluminusLimited/pgdice'
|
15
|
+
spec.license = 'MIT'
|
17
16
|
|
18
17
|
# Specify which files should be added to the gem when it is released.
|
19
18
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
20
|
-
spec.files
|
19
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
21
20
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
22
21
|
end
|
23
|
-
spec.bindir
|
24
|
-
spec.executables
|
22
|
+
spec.bindir = 'exe'
|
23
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
25
24
|
spec.require_paths = ['lib']
|
26
25
|
|
27
|
-
|
26
|
+
spec.required_ruby_version = '>= 3.0.0'
|
27
|
+
|
28
|
+
# It looks like there's a bug in pg 1.3+ that I don't have time to fix
|
28
29
|
spec.add_runtime_dependency 'pg', '~> 1.2.3', '>= 1.1.0'
|
29
|
-
|
30
|
+
# Locked because we depend on internal behavior for table commenting
|
31
|
+
spec.add_runtime_dependency 'pgslice', '0.4.7'
|
30
32
|
|
31
|
-
spec.add_development_dependency 'bundler', '~>
|
32
|
-
spec.add_development_dependency '
|
33
|
-
spec.add_development_dependency 'guard', '~> 2.16.2', '>= 2.14.2'
|
33
|
+
spec.add_development_dependency 'bundler', '~> 2.3.6', '>= 1.16'
|
34
|
+
spec.add_development_dependency 'guard', '~> 2.18.0', '>= 2.14.2'
|
34
35
|
spec.add_development_dependency 'guard-minitest', '~> 2.4.6', '>= 2.4.6'
|
35
|
-
spec.add_development_dependency 'guard-rubocop', '~> 1.
|
36
|
+
spec.add_development_dependency 'guard-rubocop', '~> 1.5.0', '>= 1.3.0'
|
36
37
|
spec.add_development_dependency 'guard-shell', '~> 0.7.1', '>= 0.7.1'
|
37
38
|
spec.add_development_dependency 'minitest', '~> 5.0', '>= 5.0'
|
38
39
|
spec.add_development_dependency 'minitest-ci', '~> 3.4.0', '>= 3.4.0'
|
39
|
-
spec.add_development_dependency 'minitest-reporters', '~> 1.
|
40
|
-
spec.add_development_dependency 'rake', '~>
|
41
|
-
spec.add_development_dependency 'rubocop', '
|
42
|
-
spec.add_development_dependency '
|
40
|
+
spec.add_development_dependency 'minitest-reporters', '~> 1.5.0', '>= 1.3.4'
|
41
|
+
spec.add_development_dependency 'rake', '~> 13.0.6', '>= 10.0'
|
42
|
+
spec.add_development_dependency 'rubocop', '1.25.1'
|
43
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.13.2', '>= 1.13.2'
|
44
|
+
spec.add_development_dependency 'rubocop-rake', '~> 0.6.0', '>= 0.6.0'
|
45
|
+
spec.add_development_dependency 'simplecov', '~> 0.21.2', '>= 0.16.1'
|
46
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
43
47
|
end
|
metadata
CHANGED
@@ -1,247 +1,227 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pgdice
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Newell
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.1.0
|
20
17
|
- - "~>"
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: 1.2.3
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.1.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 1.1.0
|
30
27
|
- - "~>"
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: 1.2.3
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.1.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: pgslice
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - '='
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.4.
|
39
|
+
version: 0.4.7
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - '='
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.4.
|
46
|
+
version: 0.4.7
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '1.16'
|
54
51
|
- - "~>"
|
55
52
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
57
|
-
type: :development
|
58
|
-
prerelease: false
|
59
|
-
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
53
|
+
version: 2.3.6
|
61
54
|
- - ">="
|
62
55
|
- !ruby/object:Gem::Version
|
63
56
|
version: '1.16'
|
64
|
-
- - "~>"
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '1.16'
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: coveralls
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 0.8.22
|
74
|
-
- - "~>"
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 0.8.22
|
77
57
|
type: :development
|
78
58
|
prerelease: false
|
79
59
|
version_requirements: !ruby/object:Gem::Requirement
|
80
60
|
requirements:
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: 0.8.22
|
84
61
|
- - "~>"
|
85
62
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
63
|
+
version: 2.3.6
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '1.16'
|
87
67
|
- !ruby/object:Gem::Dependency
|
88
68
|
name: guard
|
89
69
|
requirement: !ruby/object:Gem::Requirement
|
90
70
|
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 2.18.0
|
91
74
|
- - ">="
|
92
75
|
- !ruby/object:Gem::Version
|
93
76
|
version: 2.14.2
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 2.16.2
|
97
77
|
type: :development
|
98
78
|
prerelease: false
|
99
79
|
version_requirements: !ruby/object:Gem::Requirement
|
100
80
|
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 2.18.0
|
101
84
|
- - ">="
|
102
85
|
- !ruby/object:Gem::Version
|
103
86
|
version: 2.14.2
|
104
|
-
- - "~>"
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: 2.16.2
|
107
87
|
- !ruby/object:Gem::Dependency
|
108
88
|
name: guard-minitest
|
109
89
|
requirement: !ruby/object:Gem::Requirement
|
110
90
|
requirements:
|
111
|
-
- - "
|
91
|
+
- - "~>"
|
112
92
|
- !ruby/object:Gem::Version
|
113
93
|
version: 2.4.6
|
114
|
-
- - "
|
94
|
+
- - ">="
|
115
95
|
- !ruby/object:Gem::Version
|
116
96
|
version: 2.4.6
|
117
97
|
type: :development
|
118
98
|
prerelease: false
|
119
99
|
version_requirements: !ruby/object:Gem::Requirement
|
120
100
|
requirements:
|
121
|
-
- - "
|
101
|
+
- - "~>"
|
122
102
|
- !ruby/object:Gem::Version
|
123
103
|
version: 2.4.6
|
124
|
-
- - "
|
104
|
+
- - ">="
|
125
105
|
- !ruby/object:Gem::Version
|
126
106
|
version: 2.4.6
|
127
107
|
- !ruby/object:Gem::Dependency
|
128
108
|
name: guard-rubocop
|
129
109
|
requirement: !ruby/object:Gem::Requirement
|
130
110
|
requirements:
|
131
|
-
- - ">="
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 1.3.0
|
134
111
|
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 1.5.0
|
114
|
+
- - ">="
|
135
115
|
- !ruby/object:Gem::Version
|
136
116
|
version: 1.3.0
|
137
117
|
type: :development
|
138
118
|
prerelease: false
|
139
119
|
version_requirements: !ruby/object:Gem::Requirement
|
140
120
|
requirements:
|
141
|
-
- - ">="
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version: 1.3.0
|
144
121
|
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 1.5.0
|
124
|
+
- - ">="
|
145
125
|
- !ruby/object:Gem::Version
|
146
126
|
version: 1.3.0
|
147
127
|
- !ruby/object:Gem::Dependency
|
148
128
|
name: guard-shell
|
149
129
|
requirement: !ruby/object:Gem::Requirement
|
150
130
|
requirements:
|
151
|
-
- - "
|
131
|
+
- - "~>"
|
152
132
|
- !ruby/object:Gem::Version
|
153
133
|
version: 0.7.1
|
154
|
-
- - "
|
134
|
+
- - ">="
|
155
135
|
- !ruby/object:Gem::Version
|
156
136
|
version: 0.7.1
|
157
137
|
type: :development
|
158
138
|
prerelease: false
|
159
139
|
version_requirements: !ruby/object:Gem::Requirement
|
160
140
|
requirements:
|
161
|
-
- - "
|
141
|
+
- - "~>"
|
162
142
|
- !ruby/object:Gem::Version
|
163
143
|
version: 0.7.1
|
164
|
-
- - "
|
144
|
+
- - ">="
|
165
145
|
- !ruby/object:Gem::Version
|
166
146
|
version: 0.7.1
|
167
147
|
- !ruby/object:Gem::Dependency
|
168
148
|
name: minitest
|
169
149
|
requirement: !ruby/object:Gem::Requirement
|
170
150
|
requirements:
|
171
|
-
- - "
|
151
|
+
- - "~>"
|
172
152
|
- !ruby/object:Gem::Version
|
173
153
|
version: '5.0'
|
174
|
-
- - "
|
154
|
+
- - ">="
|
175
155
|
- !ruby/object:Gem::Version
|
176
156
|
version: '5.0'
|
177
157
|
type: :development
|
178
158
|
prerelease: false
|
179
159
|
version_requirements: !ruby/object:Gem::Requirement
|
180
160
|
requirements:
|
181
|
-
- - "
|
161
|
+
- - "~>"
|
182
162
|
- !ruby/object:Gem::Version
|
183
163
|
version: '5.0'
|
184
|
-
- - "
|
164
|
+
- - ">="
|
185
165
|
- !ruby/object:Gem::Version
|
186
166
|
version: '5.0'
|
187
167
|
- !ruby/object:Gem::Dependency
|
188
168
|
name: minitest-ci
|
189
169
|
requirement: !ruby/object:Gem::Requirement
|
190
170
|
requirements:
|
191
|
-
- - "
|
171
|
+
- - "~>"
|
192
172
|
- !ruby/object:Gem::Version
|
193
173
|
version: 3.4.0
|
194
|
-
- - "
|
174
|
+
- - ">="
|
195
175
|
- !ruby/object:Gem::Version
|
196
176
|
version: 3.4.0
|
197
177
|
type: :development
|
198
178
|
prerelease: false
|
199
179
|
version_requirements: !ruby/object:Gem::Requirement
|
200
180
|
requirements:
|
201
|
-
- - "
|
181
|
+
- - "~>"
|
202
182
|
- !ruby/object:Gem::Version
|
203
183
|
version: 3.4.0
|
204
|
-
- - "
|
184
|
+
- - ">="
|
205
185
|
- !ruby/object:Gem::Version
|
206
186
|
version: 3.4.0
|
207
187
|
- !ruby/object:Gem::Dependency
|
208
188
|
name: minitest-reporters
|
209
189
|
requirement: !ruby/object:Gem::Requirement
|
210
190
|
requirements:
|
191
|
+
- - "~>"
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 1.5.0
|
211
194
|
- - ">="
|
212
195
|
- !ruby/object:Gem::Version
|
213
196
|
version: 1.3.4
|
214
|
-
- - "~>"
|
215
|
-
- !ruby/object:Gem::Version
|
216
|
-
version: 1.4.2
|
217
197
|
type: :development
|
218
198
|
prerelease: false
|
219
199
|
version_requirements: !ruby/object:Gem::Requirement
|
220
200
|
requirements:
|
201
|
+
- - "~>"
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: 1.5.0
|
221
204
|
- - ">="
|
222
205
|
- !ruby/object:Gem::Version
|
223
206
|
version: 1.3.4
|
224
|
-
- - "~>"
|
225
|
-
- !ruby/object:Gem::Version
|
226
|
-
version: 1.4.2
|
227
207
|
- !ruby/object:Gem::Dependency
|
228
208
|
name: rake
|
229
209
|
requirement: !ruby/object:Gem::Requirement
|
230
210
|
requirements:
|
231
|
-
- - ">="
|
232
|
-
- !ruby/object:Gem::Version
|
233
|
-
version: '10.0'
|
234
211
|
- - "~>"
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: 13.0.6
|
214
|
+
- - ">="
|
235
215
|
- !ruby/object:Gem::Version
|
236
216
|
version: '10.0'
|
237
217
|
type: :development
|
238
218
|
prerelease: false
|
239
219
|
version_requirements: !ruby/object:Gem::Requirement
|
240
220
|
requirements:
|
241
|
-
- - ">="
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: '10.0'
|
244
221
|
- - "~>"
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: 13.0.6
|
224
|
+
- - ">="
|
245
225
|
- !ruby/object:Gem::Version
|
246
226
|
version: '10.0'
|
247
227
|
- !ruby/object:Gem::Dependency
|
@@ -250,47 +230,87 @@ dependencies:
|
|
250
230
|
requirements:
|
251
231
|
- - '='
|
252
232
|
- !ruby/object:Gem::Version
|
253
|
-
version:
|
233
|
+
version: 1.25.1
|
254
234
|
type: :development
|
255
235
|
prerelease: false
|
256
236
|
version_requirements: !ruby/object:Gem::Requirement
|
257
237
|
requirements:
|
258
238
|
- - '='
|
259
239
|
- !ruby/object:Gem::Version
|
260
|
-
version:
|
240
|
+
version: 1.25.1
|
261
241
|
- !ruby/object:Gem::Dependency
|
262
|
-
name:
|
242
|
+
name: rubocop-performance
|
263
243
|
requirement: !ruby/object:Gem::Requirement
|
264
244
|
requirements:
|
245
|
+
- - "~>"
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: 1.13.2
|
265
248
|
- - ">="
|
266
249
|
- !ruby/object:Gem::Version
|
267
|
-
version:
|
250
|
+
version: 1.13.2
|
251
|
+
type: :development
|
252
|
+
prerelease: false
|
253
|
+
version_requirements: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
268
255
|
- - "~>"
|
269
256
|
- !ruby/object:Gem::Version
|
270
|
-
version:
|
257
|
+
version: 1.13.2
|
258
|
+
- - ">="
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
version: 1.13.2
|
261
|
+
- !ruby/object:Gem::Dependency
|
262
|
+
name: rubocop-rake
|
263
|
+
requirement: !ruby/object:Gem::Requirement
|
264
|
+
requirements:
|
265
|
+
- - "~>"
|
266
|
+
- !ruby/object:Gem::Version
|
267
|
+
version: 0.6.0
|
268
|
+
- - ">="
|
269
|
+
- !ruby/object:Gem::Version
|
270
|
+
version: 0.6.0
|
271
271
|
type: :development
|
272
272
|
prerelease: false
|
273
273
|
version_requirements: !ruby/object:Gem::Requirement
|
274
274
|
requirements:
|
275
|
+
- - "~>"
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: 0.6.0
|
278
|
+
- - ">="
|
279
|
+
- !ruby/object:Gem::Version
|
280
|
+
version: 0.6.0
|
281
|
+
- !ruby/object:Gem::Dependency
|
282
|
+
name: simplecov
|
283
|
+
requirement: !ruby/object:Gem::Requirement
|
284
|
+
requirements:
|
285
|
+
- - "~>"
|
286
|
+
- !ruby/object:Gem::Version
|
287
|
+
version: 0.21.2
|
275
288
|
- - ">="
|
276
289
|
- !ruby/object:Gem::Version
|
277
290
|
version: 0.16.1
|
291
|
+
type: :development
|
292
|
+
prerelease: false
|
293
|
+
version_requirements: !ruby/object:Gem::Requirement
|
294
|
+
requirements:
|
278
295
|
- - "~>"
|
296
|
+
- !ruby/object:Gem::Version
|
297
|
+
version: 0.21.2
|
298
|
+
- - ">="
|
279
299
|
- !ruby/object:Gem::Version
|
280
300
|
version: 0.16.1
|
281
301
|
description: Postgres table partitioning with a Ruby API built on top of https://github.com/ankane/pgslice
|
282
302
|
email:
|
283
|
-
- andrew@
|
303
|
+
- andrew@illuminusltd.com
|
284
304
|
executables: []
|
285
305
|
extensions: []
|
286
306
|
extra_rdoc_files: []
|
287
307
|
files:
|
288
|
-
- ".circleci/config.yml"
|
289
308
|
- ".codeclimate.yml"
|
290
309
|
- ".coveralls.yml"
|
291
310
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
292
311
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
293
|
-
- ".github/workflows/
|
312
|
+
- ".github/workflows/gem-push.yml"
|
313
|
+
- ".github/workflows/ruby.yml"
|
294
314
|
- ".gitignore"
|
295
315
|
- ".rubocop.yml"
|
296
316
|
- ".ruby-gemset"
|
@@ -353,8 +373,9 @@ files:
|
|
353
373
|
homepage: https://github.com/IlluminusLimited/pgdice
|
354
374
|
licenses:
|
355
375
|
- MIT
|
356
|
-
metadata:
|
357
|
-
|
376
|
+
metadata:
|
377
|
+
rubygems_mfa_required: 'true'
|
378
|
+
post_install_message:
|
358
379
|
rdoc_options: []
|
359
380
|
require_paths:
|
360
381
|
- lib
|
@@ -362,15 +383,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
362
383
|
requirements:
|
363
384
|
- - ">="
|
364
385
|
- !ruby/object:Gem::Version
|
365
|
-
version:
|
386
|
+
version: 3.0.0
|
366
387
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
367
388
|
requirements:
|
368
389
|
- - ">="
|
369
390
|
- !ruby/object:Gem::Version
|
370
391
|
version: '0'
|
371
392
|
requirements: []
|
372
|
-
rubygems_version: 3.
|
373
|
-
signing_key:
|
393
|
+
rubygems_version: 3.2.32
|
394
|
+
signing_key:
|
374
395
|
specification_version: 4
|
375
396
|
summary: Postgres table partitioning with a Ruby API!
|
376
397
|
test_files: []
|
data/.circleci/config.yml
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
# Ruby CircleCI 2.0 configuration file
|
2
|
-
#
|
3
|
-
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
4
|
-
#
|
5
|
-
version: 2
|
6
|
-
defaults: &defaults
|
7
|
-
working_directory: ~/repo
|
8
|
-
docker:
|
9
|
-
- image: circleci/ruby:2.6.6
|
10
|
-
environment:
|
11
|
-
DATABASE_HOST: 127.0.0.1
|
12
|
-
DATABASE_USERNAME: pgdice
|
13
|
-
PGDICE_LOG_TARGET: STDOUT
|
14
|
-
|
15
|
-
- image: circleci/postgres:12.1-alpine-ram
|
16
|
-
environment:
|
17
|
-
POSTGRES_USER: pgdice
|
18
|
-
POSTGRES_DB: pgdice_test
|
19
|
-
|
20
|
-
jobs:
|
21
|
-
test:
|
22
|
-
<<: *defaults
|
23
|
-
environment:
|
24
|
-
- CC_TEST_REPORTER_ID: b39c211d102df8869887e0f5764fbb06114fd2430cdf6689868dec7a1261fd05
|
25
|
-
steps:
|
26
|
-
- checkout
|
27
|
-
- run:
|
28
|
-
name: Download cc-test-reporter
|
29
|
-
command: |
|
30
|
-
mkdir -p tmp/
|
31
|
-
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./tmp/cc-test-reporter
|
32
|
-
chmod +x ./tmp/cc-test-reporter
|
33
|
-
|
34
|
-
- run:
|
35
|
-
name: Setup dependencies
|
36
|
-
command: |
|
37
|
-
bundle install --jobs 4 --retry 3
|
38
|
-
|
39
|
-
- run:
|
40
|
-
name: Run tests
|
41
|
-
command: |
|
42
|
-
mkdir -p /tmp/test-results
|
43
|
-
TEST_FILES="$(circleci tests glob "test/**/*_test.rb" | circleci tests split --split-by=timings)"
|
44
|
-
|
45
|
-
bundle exec rake rubocop test
|
46
|
-
./tmp/cc-test-reporter format-coverage -t simplecov -o tmp/coverage/codeclimate.pgdice.json tmp/coverage/pgdice/.resultset.json
|
47
|
-
|
48
|
-
- store_test_results:
|
49
|
-
path: ~/repo/tmp/test-results
|
50
|
-
|
51
|
-
- store_artifacts:
|
52
|
-
path: ~/repo/tmp/test-results
|
53
|
-
destination: test-results
|
54
|
-
|
55
|
-
- run:
|
56
|
-
name: Upload coverage results to Code Climate
|
57
|
-
command: |
|
58
|
-
./tmp/cc-test-reporter sum-coverage tmp/coverage/codeclimate.*.json -p 1 -o tmp/coverage/codeclimate.total.json
|
59
|
-
./tmp/cc-test-reporter upload-coverage -i tmp/coverage/codeclimate.total.json
|
60
|
-
|
61
|
-
|
62
|
-
workflows:
|
63
|
-
version: 2
|
64
|
-
commit:
|
65
|
-
jobs:
|
66
|
-
- test
|
@@ -1,41 +0,0 @@
|
|
1
|
-
name: Ruby Gem
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches:
|
6
|
-
- master
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
build:
|
10
|
-
name: Build + Publish
|
11
|
-
runs-on: ubuntu-latest
|
12
|
-
|
13
|
-
steps:
|
14
|
-
- uses: actions/checkout@master
|
15
|
-
- name: Set up Ruby 2.6
|
16
|
-
uses: actions/setup-ruby@v1
|
17
|
-
with:
|
18
|
-
version: 2.6.x
|
19
|
-
|
20
|
-
# - name: Publish to GPR
|
21
|
-
# run: |
|
22
|
-
# mkdir -p $HOME/.gem
|
23
|
-
# touch $HOME/.gem/credentials
|
24
|
-
# chmod 0600 $HOME/.gem/credentials
|
25
|
-
# printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
26
|
-
# gem build *.gemspec
|
27
|
-
# gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
28
|
-
# env:
|
29
|
-
# GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
|
30
|
-
# OWNER: username
|
31
|
-
|
32
|
-
- name: Publish to RubyGems
|
33
|
-
run: |
|
34
|
-
mkdir -p $HOME/.gem
|
35
|
-
touch $HOME/.gem/credentials
|
36
|
-
chmod 0600 $HOME/.gem/credentials
|
37
|
-
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
38
|
-
gem build *.gemspec
|
39
|
-
gem push *.gem
|
40
|
-
env:
|
41
|
-
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
|