pgtk 0.7.5 → 0.8.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: b219dccbf16fe5c25e14e50419ec42b500ac9d62e940dde922549345ff263ead
4
- data.tar.gz: 5b604cedbc33cc7e6945dc8747d218605109bd6c5f20b3fa009fb9f7d806c8a7
3
+ metadata.gz: 59a94cc2db34605f428b7f7828f2a4a1e2cec16cd0ed59903ed5cc2244fb2a07
4
+ data.tar.gz: 96aae151d530dea967c1d1cff85a3192399d31bcf932305aca789e649cfe1b36
5
5
  SHA512:
6
- metadata.gz: f60a0d134a37cff5ccd1d45209121588950fa0a24ae885cdec78d65e1afb5f36f41c0714c2d7a9d16c9d5336f9a7b4b74c3bdeb5dabe4d2937d323307bd52733
7
- data.tar.gz: b5d85d743ab268a8213619ed5a44f6f84c8eed7b21953275bcd8cc57facbda71cd40b8dfac6c3c16d1ae41ee151dc5f4ce81276a92da5ec0d997b6d668117f27
6
+ metadata.gz: 03dafc5a8296523fbe2a47bf88e0f39f8ced19c39d638e432e21023d646ef988baa805544f37ab2dd82291bc2d0686c0b397b1c660cf0e565578356af25940ea
7
+ data.tar.gz: 5d19a05b050ce1ba15b38405a05ddd61b29d80bef1f9fadbc3e7e5f371d3d6d0ac98b7a47d84a658208b98133218bcdd8f3f3b348f559dc7665c05058e8ce399
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: codecov
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ jobs:
8
+ codecov:
9
+ runs-on: ubuntu-20.04
10
+ steps:
11
+ - uses: actions/checkout@v3
12
+ - uses: actions/setup-ruby@v1
13
+ with:
14
+ ruby-version: 2.7
15
+ - run: |
16
+ sudo apt-get update
17
+ sudo apt-get install -y postgresql-14
18
+ sudo ln -s /usr/lib/postgresql/14/bin/initdb /bin/initdb
19
+ sudo ln -s /usr/lib/postgresql/14/bin/postgres /bin/postgres
20
+ - run: bundle update
21
+ - run: bundle exec rake
22
+ - uses: codecov/codecov-action@v3
23
+ with:
24
+ file: coverage/.resultset.json
25
+ fail_ci_if_error: true
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: pdd
3
+ "on":
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+ branches:
9
+ - master
10
+ jobs:
11
+ pdd:
12
+ runs-on: ubuntu-20.04
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+ - uses: g4s8/pdd-action@master
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: rake
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+ branches:
9
+ - master
10
+ jobs:
11
+ test:
12
+ name: test
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-20.04]
16
+ ruby: [2.6]
17
+ runs-on: ${{ matrix.os }}
18
+ steps:
19
+ - uses: actions/checkout@v3
20
+ - run: |
21
+ sudo apt-get update
22
+ sudo apt-get install -y postgresql-14
23
+ sudo ln -s /usr/lib/postgresql/14/bin/initdb /bin/initdb
24
+ sudo ln -s /usr/lib/postgresql/14/bin/postgres /bin/postgres
25
+ - uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: ${{ matrix.ruby }}
28
+ - run: bundle update
29
+ - run: bundle exec rake
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: xcop
3
+ "on":
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+ branches:
9
+ - master
10
+ jobs:
11
+ xcop:
12
+ runs-on: ubuntu-20.04
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+ - uses: g4s8/xcop-action@master
16
+ with:
17
+ files: '**/*.xml'
data/.rubocop.yml CHANGED
@@ -4,6 +4,8 @@ AllCops:
4
4
  - 'assets/**/*'
5
5
  DisplayCopNames: true
6
6
  TargetRubyVersion: 2.3
7
+ SuggestExtensions: false
8
+ NewCops: enable
7
9
 
8
10
  Style/ClassAndModuleChildren:
9
11
  Enabled: false
data/.rultor.yml CHANGED
@@ -1,35 +1,21 @@
1
+ docker:
2
+ image: yegor256/rultor-image:1.19.0
1
3
  assets:
2
4
  rubygems.yml: yegor256/home#assets/rubygems.yml
3
- s3cfg: yegor256/home#assets/s3cfg
4
5
  install: |
5
- export PATH=$PATH:/usr/lib/postgresql/10/bin
6
- sudo apt-get -y update
7
- sudo apt-get -y install libpq-dev
8
- export GEM_HOME=~/.ruby
9
- export GEM_PATH=$GEM_HOME:$GEM_PATH
10
- sudo apt-get -y update
11
- sudo gem install pdd -v 0.20.5
6
+ pdd -f /dev/null
7
+ sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"
12
8
  release:
13
9
  script: |-
14
- bundle install
15
- rake
10
+ [[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1
11
+ bundle exec rake
16
12
  rm -rf *.gem
17
- sed -i "s/1\.0\.snapshot/${tag}/g" lib/pgtk/version.rb
13
+ sed -i "s/0\.0\.0/${tag}/g" lib/pgtk/version.rb
18
14
  git add lib/pgtk/version.rb
19
15
  git commit -m "version set to ${tag}"
20
16
  gem build pgtk.gemspec
21
17
  chmod 0600 ../rubygems.yml
22
18
  gem push *.gem --config-file ../rubygems.yml
23
- commanders:
24
- - yegor256
25
- architect:
26
- - yegor256
27
19
  merge:
28
20
  script: |-
29
- bundle install
30
21
  bundle exec rake
31
- pdd -f /dev/null
32
- deploy:
33
- script: |-
34
- echo "There is nothing to deploy"
35
- exit -1
data/.simplecov CHANGED
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2019 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -18,21 +20,21 @@
18
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
21
  # SOFTWARE.
20
22
 
21
- if Gem.win_platform? then
23
+ if Gem.win_platform?
22
24
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
23
25
  SimpleCov::Formatter::HTMLFormatter
24
26
  ]
25
27
  SimpleCov.start do
26
- add_filter "/test/"
27
- add_filter "/features/"
28
+ add_filter '/test/'
29
+ add_filter '/features/'
28
30
  end
29
31
  else
30
32
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
31
33
  [SimpleCov::Formatter::HTMLFormatter]
32
34
  )
33
35
  SimpleCov.start do
34
- add_filter "/test/"
35
- add_filter "/features/"
36
+ add_filter '/test/'
37
+ add_filter '/features/'
36
38
  minimum_coverage 60
37
39
  end
38
40
  end
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -21,5 +21,4 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  source 'https://rubygems.org'
24
- ruby '~>2.3'
25
24
  gemspec
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2019 Yegor Bugayenko
3
+ Copyright (c) 2019-2023 Yegor Bugayenko
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/README.md CHANGED
@@ -1,16 +1,13 @@
1
1
  <img src="https://upload.wikimedia.org/wikipedia/commons/2/29/Postgresql_elephant.svg" height="64px"/>
2
2
 
3
3
  [![EO principles respected here](https://www.elegantobjects.org/badge.svg)](https://www.elegantobjects.org)
4
- [![Managed by Zerocracy](https://www.0crat.com/badge/C3RFVLU72.svg)](https://www.0crat.com/p/C3RFVLU72)
5
4
  [![DevOps By Rultor.com](http://www.rultor.com/b/yegor256/pgtk)](http://www.rultor.com/p/yegor256/pgtk)
6
5
  [![We recommend RubyMine](https://www.elegantobjects.org/rubymine.svg)](https://www.jetbrains.com/ruby/)
7
6
 
8
- [![Build Status](https://travis-ci.org/yegor256/pgtk.svg)](https://travis-ci.org/yegor256/pgtk)
9
- [![Build status](https://ci.appveyor.com/api/projects/status/tbeaa0d4dk38xdb5?svg=true)](https://ci.appveyor.com/project/yegor256/pgtk)
7
+ [![rake](https://github.com/yegor256/pgtk/actions/workflows/rake.yml/badge.svg)](https://github.com/yegor256/pgtk/actions/workflows/rake.yml)
10
8
  [![PDD status](http://www.0pdd.com/svg?name=yegor256/pgtk)](http://www.0pdd.com/p?name=yegor256/pgtk)
11
9
  [![Gem Version](https://badge.fury.io/rb/pgtk.svg)](http://badge.fury.io/rb/pgtk)
12
10
  [![Maintainability](https://api.codeclimate.com/v1/badges/3a5bebac001e5288b00d/maintainability)](https://codeclimate.com/github/yegor256/pgtk/maintainability)
13
-
14
11
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/pgtk/blob/master/LICENSE.txt)
15
12
  [![Test Coverage](https://img.shields.io/codecov/c/github/yegor256/pgtk.svg)](https://codecov.io/github/yegor256/pgtk?branch=master)
16
13
  [![Hits-of-Code](https://hitsofcode.com/github/yegor256/pgtk)](https://hitsofcode.com/view/github/yegor256/pgtk)
@@ -151,3 +148,8 @@ $ bundle exec rake
151
148
 
152
149
  If it's clean and you don't see any error messages, submit your pull request.
153
150
 
151
+ To run a single test, do this:
152
+
153
+ ```
154
+ $ bundle exec ruby test/test_pool.rb -n test_basic
155
+ ```
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -29,20 +29,16 @@ require_relative '../pgtk'
29
29
 
30
30
  # Liquibase rake task.
31
31
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
32
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
32
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
33
33
  # License:: MIT
34
34
  class Pgtk::LiquibaseTask < Rake::TaskLib
35
- attr_accessor :name
36
- attr_accessor :master
37
- attr_accessor :yaml
38
- attr_accessor :quiet
35
+ attr_accessor :name, :master, :yaml, :quiet
39
36
 
40
37
  def initialize(*args, &task_block)
38
+ super()
41
39
  @name = args.shift || :liquibase
42
40
  @quite = false
43
- unless ::Rake.application.last_description
44
- desc 'Deploy Liquibase changes to the running PostgreSQL server'
45
- end
41
+ desc 'Deploy Liquibase changes to the running PostgreSQL server' unless ::Rake.application.last_description
46
42
  task(name, *args) do |_, task_args|
47
43
  RakeFileUtils.send(:verbose, true) do
48
44
  yield(*[self, task_args].slice(0, task_block.arity)) if block_given?
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -32,20 +32,13 @@ require_relative '../pgtk'
32
32
 
33
33
  # Pgsql rake task.
34
34
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
35
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
35
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
36
36
  # License:: MIT
37
37
  class Pgtk::PgsqlTask < Rake::TaskLib
38
- attr_accessor :name
39
- attr_accessor :dir
40
- attr_accessor :fresh_start
41
- attr_accessor :user
42
- attr_accessor :password
43
- attr_accessor :dbname
44
- attr_accessor :yaml
45
- attr_accessor :quiet
46
- attr_accessor :port
38
+ attr_accessor :name, :dir, :fresh_start, :user, :password, :dbname, :yaml, :quiet, :port
47
39
 
48
40
  def initialize(*args, &task_block)
41
+ super()
49
42
  @name = args.shift || :pgsql
50
43
  @fresh_start = false
51
44
  @quite = false
@@ -53,9 +46,7 @@ class Pgtk::PgsqlTask < Rake::TaskLib
53
46
  @password = 'test'
54
47
  @dbname = 'test'
55
48
  @port = nil
56
- unless ::Rake.application.last_description
57
- desc 'Start a local PostgreSQL server'
58
- end
49
+ desc 'Start a local PostgreSQL server' unless ::Rake.application.last_description
59
50
  task(name, *args) do |_, task_args|
60
51
  RakeFileUtils.send(:verbose, true) do
61
52
  yield(*[self, task_args].slice(0, task_block.arity)) if block_given?
@@ -71,12 +62,10 @@ class Pgtk::PgsqlTask < Rake::TaskLib
71
62
  raise "Option 'yaml' is mandatory" unless @yaml
72
63
  home = File.expand_path(@dir)
73
64
  FileUtils.rm_rf(home) if @fresh_start
74
- if File.exist?(home)
75
- raise "Directory/file #{home} is present, use fresh_start=true"
76
- end
65
+ raise "Directory/file #{home} is present, use fresh_start=true" if File.exist?(home)
77
66
  out = "2>&1 #{@quiet ? '>/dev/null' : ''}"
78
67
  Tempfile.open do |pwfile|
79
- IO.write(pwfile.path, @password)
68
+ File.write(pwfile.path, @password)
80
69
  system(
81
70
  [
82
71
  'initdb --auth=trust',
@@ -98,7 +87,7 @@ class Pgtk::PgsqlTask < Rake::TaskLib
98
87
  puts "Required TCP port #{port} is used"
99
88
  end
100
89
  pid = Process.spawn('postgres', '-k', home, '-D', home, "--port=#{port}")
101
- IO.write(File.join(@dir, 'pid'), pid)
90
+ File.write(File.join(@dir, 'pid'), pid)
102
91
  at_exit do
103
92
  `kill -TERM #{pid}`
104
93
  puts "PostgreSQL killed in PID #{pid}"
@@ -123,7 +112,7 @@ class Pgtk::PgsqlTask < Rake::TaskLib
123
112
  raise if attempt > 10
124
113
  retry
125
114
  end
126
- IO.write(
115
+ File.write(
127
116
  @yaml,
128
117
  {
129
118
  'pgsql' => {
data/lib/pgtk/pool.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,7 +27,7 @@ require_relative 'wire'
27
27
 
28
28
  # Pool.
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  class Pgtk::Pool
33
33
  # Constructor.
@@ -39,7 +39,7 @@ class Pgtk::Pool
39
39
 
40
40
  # Get the version of PostgreSQL server.
41
41
  def version
42
- @version ||= exec('SHOW server_version')[0]['server_version'].split(' ')[0]
42
+ @version ||= exec('SHOW server_version')[0]['server_version'].split[0]
43
43
  end
44
44
 
45
45
  # Start it with a fixed number of connections. The amount of connections
@@ -101,13 +101,11 @@ class Pgtk::Pool
101
101
  #
102
102
  # More details about +exec_params+, which is called here, you can find
103
103
  # here: https://www.rubydoc.info/gems/pg/0.17.1/PG%2FConnection:exec_params
104
- def exec(query, args = [], result = 0)
104
+ def exec(query, args = [], result = 0, &block)
105
105
  connect do |c|
106
106
  t = Txn.new(c, @log)
107
107
  if block_given?
108
- t.exec(query, args, result) do |res|
109
- yield res
110
- end
108
+ t.exec(query, args, result, &block)
111
109
  else
112
110
  t.exec(query, args, result)
113
111
  end
data/lib/pgtk/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,9 +24,9 @@ require_relative '../pgtk'
24
24
 
25
25
  # Pgtk version.
26
26
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
27
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
27
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
28
28
  # License:: MIT
29
29
  module Pgtk
30
30
  # Current version of the library.
31
- VERSION = '0.7.5'
31
+ VERSION = '0.8.0'
32
32
  end
data/lib/pgtk/wire.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,14 +27,14 @@ require_relative '../pgtk'
27
27
 
28
28
  # Wires.
29
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
31
31
  # License:: MIT
32
32
  module Pgtk::Wire
33
33
  end
34
34
 
35
35
  # Simple wire with details.
36
36
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
37
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
37
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
38
38
  # License:: MIT
39
39
  class Pgtk::Wire::Direct
40
40
  # Constructor.
@@ -59,7 +59,7 @@ end
59
59
 
60
60
  # Using ENV variable.
61
61
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
62
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
62
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
63
63
  # License:: MIT
64
64
  class Pgtk::Wire::Env
65
65
  # Constructor.
@@ -70,7 +70,7 @@ class Pgtk::Wire::Env
70
70
 
71
71
  # Create a new connection to PostgreSQL server.
72
72
  def connection
73
- v = ENV[@var]
73
+ v = ENV.fetch(@var, nil)
74
74
  raise "The environment variable #{@var.inspect} is not set" if v.nil?
75
75
  uri = URI(v)
76
76
  Pgtk::Wire::Direct.new(
@@ -85,7 +85,7 @@ end
85
85
 
86
86
  # Using configuration from YAML file.
87
87
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
88
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
88
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
89
89
  # License:: MIT
90
90
  class Pgtk::Wire::Yaml
91
91
  # Constructor.
data/lib/pgtk.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -22,7 +22,7 @@
22
22
 
23
23
  # Pgtk main module.
24
24
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
25
- # Copyright:: Copyright (c) 2019 Yegor Bugayenko
25
+ # Copyright:: Copyright (c) 2019-2023 Yegor Bugayenko
26
26
  # License:: MIT
27
27
  module Pgtk
28
28
  # Nothing here.
data/pgtk.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,11 +26,7 @@ lib = File.expand_path('lib', __dir__)
26
26
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
27
27
  require_relative 'lib/pgtk/version'
28
28
  Gem::Specification.new do |s|
29
- s.specification_version = 2 if s.respond_to? :specification_version=
30
- if s.respond_to? :required_rubygems_version=
31
- s.required_rubygems_version = Gem::Requirement.new('>= 0')
32
- end
33
- s.rubygems_version = '2.2'
29
+ s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
34
30
  s.required_ruby_version = '>= 2.3'
35
31
  s.name = 'pgtk'
36
32
  s.version = Pgtk::VERSION
@@ -44,18 +40,19 @@ connection pool and query processor, to make SQL manipulation simpler.'
44
40
  s.homepage = 'http://github.com/yegor256/pgtk'
45
41
  s.files = `git ls-files`.split($RS)
46
42
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
47
- s.test_files = s.files.grep(%r{^(test|spec|features)/})
48
43
  s.rdoc_options = ['--charset=UTF-8']
49
44
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
50
45
  s.add_runtime_dependency 'backtrace', '~> 0.3'
51
46
  s.add_runtime_dependency 'loog', '~> 0.2'
52
47
  s.add_runtime_dependency 'pg', '~> 1.1'
53
48
  s.add_runtime_dependency 'random-port', '~> 0.3'
54
- s.add_development_dependency 'codecov', '0.1.10'
55
- s.add_development_dependency 'minitest', '5.5.0'
56
- s.add_development_dependency 'rake', '12.0.0'
49
+ s.add_development_dependency 'minitest', '5.18.0'
50
+ s.add_development_dependency 'rack', '2.2.7'
51
+ s.add_development_dependency 'rake', '13.0.6'
57
52
  s.add_development_dependency 'rspec-rails', '3.1.0'
58
- s.add_development_dependency 'rubocop', '0.61.0'
59
- s.add_development_dependency 'rubocop-rspec', '1.31.0'
60
- s.add_development_dependency 'xcop', '0.6'
53
+ s.add_development_dependency 'rubocop', '1.50.2'
54
+ s.add_development_dependency 'rubocop-rspec', '2.20.0'
55
+ s.add_development_dependency 'simplecov', '0.22.0'
56
+ s.add_development_dependency 'xcop', '0.7.1'
57
+ s.metadata['rubygems_mfa_required'] = 'true'
61
58
  end
data/renovate.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": [
4
+ "config:base"
5
+ ]
6
+ }
data/resources/pom.xml CHANGED
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  (The MIT License)
4
4
 
5
- Copyright (c) 2019 Yegor Bugayenko
5
+ Copyright (c) 2019-2023 Yegor Bugayenko
6
6
 
7
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  of this software and associated documentation files (the 'Software'), to deal
@@ -32,7 +32,7 @@ SOFTWARE.
32
32
  <dependency>
33
33
  <groupId>org.postgresql</groupId>
34
34
  <artifactId>postgresql</artifactId>
35
- <version>9.4.1212</version>
35
+ <version>42.6.0</version>
36
36
  <scope>runtime</scope>
37
37
  </dependency>
38
38
  </dependencies>
data/test/test__helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -20,14 +20,10 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  # SOFTWARE.
22
22
 
23
- STDOUT.sync = true
23
+ $stdout.sync = true
24
24
 
25
25
  require 'simplecov'
26
26
  SimpleCov.start
27
- if ENV['CI'] == 'true'
28
- require 'codecov'
29
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
30
- end
31
27
 
32
28
  require 'minitest/autorun'
33
29
  require_relative '../lib/pgtk'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
data/test/test_pool.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 Yegor Bugayenko
3
+ # Copyright (c) 2019-2023 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -102,12 +102,12 @@ class TestPool < Minitest::Test
102
102
  )
103
103
  pool.start(1)
104
104
  pool.exec('SELECT * FROM pg_catalog.pg_tables')
105
- pid = IO.read(File.join(dir, 'pgsql/pid')).to_i
105
+ pid = File.read(File.join(dir, 'pgsql/pid')).to_i
106
106
  `kill -KILL #{pid}`
107
107
  sleep 1
108
108
  task.reenable
109
109
  task.invoke
110
- assert_raises PG::UnableToSend do
110
+ assert_raises(PG::UnableToSend, PG::ConnectionBad) do
111
111
  pool.exec('SELECT * FROM pg_catalog.pg_tables')
112
112
  end
113
113
  pool.exec('SELECT * FROM pg_catalog.pg_tables')
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  (The MIT License)
4
4
 
5
- Copyright (c) 2019 Yegor Bugayenko
5
+ Copyright (c) 2019-2023 Yegor Bugayenko
6
6
 
7
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  of this software and associated documentation files (the 'Software'), to deal
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  (The MIT License)
4
4
 
5
- Copyright (c) 2019 Yegor Bugayenko
5
+ Copyright (c) 2019-2023 Yegor Bugayenko
6
6
 
7
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  of this software and associated documentation files (the 'Software'), to deal
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pgtk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-25 00:00:00.000000000 Z
11
+ date: 2023-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace
@@ -67,47 +67,47 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.3'
69
69
  - !ruby/object:Gem::Dependency
70
- name: codecov
70
+ name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.1.10
75
+ version: 5.18.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 0.1.10
82
+ version: 5.18.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: minitest
84
+ name: rack
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 5.5.0
89
+ version: 2.2.7
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 5.5.0
96
+ version: 2.2.7
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 12.0.0
103
+ version: 13.0.6
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 12.0.0
110
+ version: 13.0.6
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec-rails
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -128,42 +128,56 @@ dependencies:
128
128
  requirements:
129
129
  - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 0.61.0
131
+ version: 1.50.2
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - '='
137
137
  - !ruby/object:Gem::Version
138
- version: 0.61.0
138
+ version: 1.50.2
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rubocop-rspec
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 1.31.0
145
+ version: 2.20.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 1.31.0
152
+ version: 2.20.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: simplecov
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 0.22.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 0.22.0
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: xcop
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - '='
158
172
  - !ruby/object:Gem::Version
159
- version: '0.6'
173
+ version: 0.7.1
160
174
  type: :development
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - '='
165
179
  - !ruby/object:Gem::Version
166
- version: '0.6'
180
+ version: 0.7.1
167
181
  description: |-
168
182
  This small Ruby gem helps you integrate PostgreSQL \
169
183
  with your Ruby web app, through Liquibase. It also adds a simple \
@@ -177,6 +191,10 @@ extra_rdoc_files:
177
191
  files:
178
192
  - ".0pdd.yml"
179
193
  - ".gitattributes"
194
+ - ".github/workflows/codecov.yml"
195
+ - ".github/workflows/pdd.yml"
196
+ - ".github/workflows/rake.yml"
197
+ - ".github/workflows/xcop.yml"
180
198
  - ".gitignore"
181
199
  - ".pdd"
182
200
  - ".rubocop.yml"
@@ -196,6 +214,7 @@ files:
196
214
  - lib/pgtk/version.rb
197
215
  - lib/pgtk/wire.rb
198
216
  - pgtk.gemspec
217
+ - renovate.json
199
218
  - resources/pom.xml
200
219
  - test-resources/2019/01-test.xml
201
220
  - test-resources/master.xml
@@ -206,7 +225,8 @@ files:
206
225
  homepage: http://github.com/yegor256/pgtk
207
226
  licenses:
208
227
  - MIT
209
- metadata: {}
228
+ metadata:
229
+ rubygems_mfa_required: 'true'
210
230
  post_install_message:
211
231
  rdoc_options:
212
232
  - "--charset=UTF-8"
@@ -223,12 +243,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
243
  - !ruby/object:Gem::Version
224
244
  version: '0'
225
245
  requirements: []
226
- rubygems_version: 3.0.1
246
+ rubygems_version: 3.2.15
227
247
  signing_key:
228
- specification_version: 2
248
+ specification_version: 4
229
249
  summary: PostgreSQL ToolKit for Ruby apps
230
- test_files:
231
- - test/test__helper.rb
232
- - test/test_liquibase_task.rb
233
- - test/test_pgsql_task.rb
234
- - test/test_pool.rb
250
+ test_files: []