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 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}}