pgdice 1.0.2 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
[![
|
2
|
-
[![Coverage Status](https://coveralls.io/repos/github/IlluminusLimited/pgdice/badge.svg?branch=master)](https://coveralls.io/github/IlluminusLimited/pgdice?branch=master)
|
3
|
-
[![Maintainability](https://api.codeclimate.com/v1/badges/311e005a14749bf2f826/maintainability)](https://codeclimate.com/github/IlluminusLimited/pgdice/maintainability)
|
1
|
+
[![Ruby](https://github.com/IlluminusLimited/pgdice/actions/workflows/ruby.yml/badge.svg)](https://github.com/IlluminusLimited/pgdice/actions/workflows/ruby.yml)[![Maintainability](https://api.codeclimate.com/v1/badges/311e005a14749bf2f826/maintainability)](https://codeclimate.com/github/IlluminusLimited/pgdice/maintainability)
|
4
2
|
[![Test Coverage](https://api.codeclimate.com/v1/badges/311e005a14749bf2f826/test_coverage)](https://codeclimate.com/github/IlluminusLimited/pgdice/test_coverage)
|
5
3
|
[![Gem Version](https://badge.fury.io/rb/pgdice.svg)](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}}
|