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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad12a02674afc68542e4b8038aaddcfb107eba52bc208f700ef57e880783d100
4
- data.tar.gz: 6d384e71518d19b9e8319d6d84632ded6b3de0bcdd4fb6fa2cef80d837fc100d
3
+ metadata.gz: 1a9a4ad3435e9d6a9590f0a40a9d9e0329a2d2719ca92b9781f10b301311d31b
4
+ data.tar.gz: 80840f0d48445932a5fd6fe1a908c7e51c5cbbac1d171ea1fdd3c406052b9f63
5
5
  SHA512:
6
- metadata.gz: 8880202263ce06487635f87118d82b723405f465a5d39f087310961e965a553b4510088bc11f23d12fb37b76faf1bc0e8d5a706b26d28ad2afcb10111cbf07c8
7
- data.tar.gz: a3c14f23d6b52a991f7997a9d887877e58b93e8c0b8717e65ea42ade699eae5fbfd1642eea788ddcc8eefe9d9dd01a12cff540772e1d2f69281119fcb6a73cad
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
- Metrics/LineLength:
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-2.6.6
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
- [![CircleCI](https://circleci.com/gh/IlluminusLimited/pgdice.svg?style=shield)](https://circleci.com/gh/IlluminusLimited/pgdice)
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? { |item| item.is_a?(PgDice::Table) }
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.select { |table| table.name == key }.first
20
+ tables.find { |table| table.name == key }
20
21
  end
21
22
 
22
23
  def include?(arg)
@@ -14,10 +14,10 @@ module PgDice
14
14
 
15
15
  # Configuration class which holds all configurable values
16
16
  class Configuration
17
- DEFAULT_VALUES ||= { logger_factory: proc { Logger.new(STDOUT) },
18
- database_url: nil,
19
- dry_run: false,
20
- batch_size: 7 }.freeze
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.present?
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(IO.read(file)).result)
20
+ YAML.safe_load(ERB.new(File.read(file)).result)
21
21
  end
22
22
  @file_loaded = opts[:file_loaded]
23
23
  end
@@ -8,9 +8,9 @@ module PgDice
8
8
 
9
9
  case numbers.size
10
10
  when 6
11
- return numbers + '01'
11
+ "#{numbers}01"
12
12
  when 4
13
- return numbers + '0101'
13
+ "#{numbers}0101"
14
14
  else
15
15
  raise ArgumentError, "Invalid date. Cannot parse date from #{numbers}"
16
16
  end
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
- "Expected: #{expected} having period of: #{period} but found: #{found_count}")
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
- 'See README.md for configuration help.')
54
+ 'See README.md for configuration help.')
55
55
  end
56
56
  end
57
57
 
@@ -28,7 +28,7 @@ module PgDice
28
28
  sql_query = old_partitions.reduce("BEGIN;\n") do |sql, table_name|
29
29
  sql + "DROP TABLE IF EXISTS #{table_name} CASCADE;\n"
30
30
  end
31
- sql_query + 'COMMIT;'
31
+ "#{sql_query}COMMIT;"
32
32
  end
33
33
  end
34
34
  end
@@ -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
- "STDOUT: '#{stdout}' STDERR: '#{stderr}'"
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.each_with_object({}) { |(k, v), memo| memo[k.to_sym] = v; })
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
- "Expected type of: #{expected_type} but found #{send(field).class}"
82
+ "Expected type of: #{expected_type} but found #{send(field).class}"
83
83
  end
84
84
  true
85
85
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PgDice
4
- VERSION = '1.0.2'
4
+ VERSION = '2.0.0'
5
5
  end
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 = 'pgdice'
9
- spec.version = PgDice::VERSION
10
- spec.authors = ['Andrew Newell']
11
- spec.email = ['andrew@andrewcn.com illuminuslimited@gmail.com']
12
-
13
- spec.summary = 'Postgres table partitioning with a Ruby API!'
14
- spec.description = 'Postgres table partitioning with a Ruby API built on top of https://github.com/ankane/pgslice'
15
- spec.homepage = 'https://github.com/IlluminusLimited/pgdice'
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 = Dir.chdir(File.expand_path(__dir__)) do
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 = 'exe'
24
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
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
- # Locked because we depend on internal behavior for table commenting
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
- spec.add_runtime_dependency 'pgslice', '0.4.6'
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', '~> 1.16', '>= 1.16'
32
- spec.add_development_dependency 'coveralls', '~> 0.8.22', '>= 0.8.22'
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.3.0', '>= 1.3.0'
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.4.2', '>= 1.3.4'
40
- spec.add_development_dependency 'rake', '~> 10.0', '>= 10.0'
41
- spec.add_development_dependency 'rubocop', '0.71'
42
- spec.add_development_dependency 'simplecov', '~> 0.16.1', '>= 0.16.1'
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: 1.0.2
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: 2020-05-29 00:00:00.000000000 Z
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.6
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.6
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: '1.16'
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: 0.8.22
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: '0.71'
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: '0.71'
240
+ version: 1.25.1
261
241
  - !ruby/object:Gem::Dependency
262
- name: simplecov
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: 0.16.1
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: 0.16.1
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@andrewcn.com illuminuslimited@gmail.com
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/gempush.yml"
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
- post_install_message:
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: '0'
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.0.8
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}}