pg-aws_rds_iam 0.3.1 → 0.4.1

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: f609de0074efdc1149609180b6e668f64895f571562635cca5f3f9c9efeacd11
4
- data.tar.gz: e6739b2d989f8d9b1aa93cb5db7c29aee0f64550e3e964b24d5a994918271f23
3
+ metadata.gz: 920be3b0e703f19eb05fbd79801ee15ffc4a261d811682426f8ff90e870b7445
4
+ data.tar.gz: b8b799ef04905de4e760320b6b7928f6e989ca7f167b2e5c0b5fa94b87c786a7
5
5
  SHA512:
6
- metadata.gz: 0c7e194f5f6448f2af950f5a505caf54a5b1bce996fc9e7043d1681bce32dec2aa95f2edab089f57a7efb4182f685b7e3b4b9c05d46f9ed0cbdfe22a8939cfb7
7
- data.tar.gz: c2a5257753f3c0cacab42efef11cd46da620cb951fbf4d222a835d4288dbd31f7bc7e055e9c98fd9e4dc9f6decb6e341b5a93bb42480eb9b960760b9bbf12eca
6
+ metadata.gz: 8661064d598861e2c7f9a0d91598335627c12acc901ec92a4de1b833a1b768dec4d3108a86d2d6e7331b831645db9092b4ea5b8ef2c0f36330465d2764203117
7
+ data.tar.gz: 439ab6a13b36c36baeb56c0e3bbdf33406e92816209e30cc6ed080e068e96eea201fcde24499d8a664bbc3523628fc9fd90ab83845800301d1fed852716f00ac
@@ -17,7 +17,7 @@ jobs:
17
17
  run: apk add git
18
18
 
19
19
  - name: Check out source code
20
- uses: actions/checkout@v2
20
+ uses: actions/checkout@v3
21
21
 
22
22
  - name: Install Bundler
23
23
  run: bin/install-bundler
@@ -40,7 +40,7 @@ jobs:
40
40
  run: test -n "${{ secrets.AVAILABLE }}"
41
41
 
42
42
  - name: Check out source code
43
- uses: actions/checkout@v2
43
+ uses: actions/checkout@v3
44
44
 
45
45
  - name: Generate version matrix
46
46
  id: version-matrix
@@ -66,10 +66,10 @@ jobs:
66
66
 
67
67
  steps:
68
68
  - name: Install dependencies
69
- run: apk add build-base git postgresql-dev tar
69
+ run: apk add build-base git postgresql-client postgresql-dev tar
70
70
 
71
71
  - name: Check out source code
72
- uses: actions/checkout@v2
72
+ uses: actions/checkout@v3
73
73
 
74
74
  - name: Install Bundler
75
75
  run: bin/install-bundler
@@ -89,10 +89,12 @@ jobs:
89
89
  "${postgresql_version}"
90
90
 
91
91
  - name: Cache gems
92
- uses: actions/cache@v2
92
+ uses: actions/cache@v3
93
93
  with:
94
94
  key: ${{ steps.cache-key.outputs.cache-key }}-gems-${{ hashFiles('Gemfile.lock') }}
95
95
  path: vendor/bundle
96
+ restore-keys: |
97
+ ${{ steps.cache-key.outputs.cache-key }}-gems-
96
98
 
97
99
  - name: Install gems
98
100
  run: bin/bundle install
data/.rubocop.yml CHANGED
@@ -3,7 +3,7 @@ require:
3
3
  - rubocop-rake
4
4
 
5
5
  AllCops:
6
- TargetRubyVersion: 2.6
6
+ TargetRubyVersion: 2.7
7
7
  NewCops: enable
8
8
  Exclude:
9
9
  - bin/bundle
@@ -26,8 +26,13 @@ Minitest/MultipleAssertions:
26
26
  Naming/ClassAndModuleCamelCase:
27
27
  Enabled: false
28
28
 
29
+ Naming/VariableNumber:
30
+ EnforcedStyle: snake_case
31
+
29
32
  Style/Documentation:
30
33
  Exclude:
34
+ - lib/pg/aws_rds_iam/active_record_postgresql_database_tasks.rb
35
+ - lib/pg/aws_rds_iam/active_record_postgresql_database_tasks/**/*.rb
31
36
  - lib/pg/aws_rds_iam/auth_token_injector.rb
32
37
  - lib/pg/aws_rds_iam/connection_info.rb
33
38
  - lib/pg/aws_rds_iam/connection_info/**/*.rb
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-3.0.2
1
+ ruby-3.1.2
data/CHANGELOG.md CHANGED
@@ -8,6 +8,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
8
8
 
9
9
  No notable changes.
10
10
 
11
+ ## [0.4.1] - 2022-07-20
12
+
13
+ ### Fixed
14
+ * Generate auth token for Active Record structure load ([#374](https://github.com/haines/pg-aws_rds_iam/pull/374))
15
+
16
+ ## [0.4.0] - 2022-06-22
17
+
18
+ ### Changed
19
+ * Test against Ruby 3.1 ([#305](https://github.com/haines/pg-aws_rds_iam/pull/305))
20
+ * Require Ruby ≥ 2.6 and Active Record ≥ 6.0 ([#360](https://github.com/haines/pg-aws_rds_iam/pull/360))
21
+
22
+ ### Fixed
23
+ * Compatibility with `pg` ≥ 1.4 ([#356](https://github.com/haines/pg-aws_rds_iam/pull/356))
24
+
25
+ ## [0.3.2] - 2021-11-15
26
+
27
+ ### Changed
28
+ * Require MFA to publish gem ([#278](https://github.com/haines/pg-aws_rds_iam/pull/278))
29
+
11
30
  ## [0.3.1] - 2021-11-10
12
31
 
13
32
  ### Fixed
@@ -38,7 +57,10 @@ No notable changes.
38
57
  * A plugin for the [`pg` gem](https://rubygems.org/gems/pg) that adds support for [IAM authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) when connecting to PostgreSQL databases hosted in Amazon RDS. ([#1](https://github.com/haines/pg-aws_rds_iam/pull/1))
39
58
  * ActiveRecord support. ([#3](https://github.com/haines/pg-aws_rds_iam/pull/3))
40
59
 
41
- [Unreleased]: https://github.com/haines/pg-aws_rds_iam/compare/v0.3.1...HEAD
60
+ [Unreleased]: https://github.com/haines/pg-aws_rds_iam/compare/v0.4.1...HEAD
61
+ [0.4.1]: https://github.com/haines/pg-aws_rds_iam/compare/v0.4.0...v0.4.1
62
+ [0.4.0]: https://github.com/haines/pg-aws_rds_iam/compare/v0.3.2...v0.4.0
63
+ [0.3.2]: https://github.com/haines/pg-aws_rds_iam/compare/v0.3.1...v0.3.2
42
64
  [0.3.1]: https://github.com/haines/pg-aws_rds_iam/compare/v0.3.0...v0.3.1
43
65
  [0.3.0]: https://github.com/haines/pg-aws_rds_iam/compare/v0.2.0...v0.3.0
44
66
  [0.2.0]: https://github.com/haines/pg-aws_rds_iam/compare/v0.1.1...v0.2.0
data/Gemfile CHANGED
@@ -14,8 +14,8 @@ gem "rubocop"
14
14
  gem "rubocop-minitest"
15
15
  gem "rubocop-rake"
16
16
  gem "timecop"
17
- gem "yard", github: "lsegal/yard"
17
+ gem "yard"
18
18
 
19
19
  ["activerecord", "pg"].each do |gem_name|
20
- gem gem_name, *ENV["#{gem_name.upcase}_VERSION"]&.yield_self { |gem_version| "~> #{gem_version}.0" }
20
+ gem gem_name, *ENV["#{gem_name.upcase}_VERSION"]&.then { |gem_version| "~> #{gem_version}.0" }
21
21
  end
data/Gemfile.lock CHANGED
@@ -1,95 +1,90 @@
1
- GIT
2
- remote: https://github.com/lsegal/yard.git
3
- revision: 9865620413d3519b561d87479e44f1b4fe782904
4
- specs:
5
- yard (0.9.26)
6
- webrick (~> 1.7.0)
7
-
8
1
  PATH
9
2
  remote: .
10
3
  specs:
11
- pg-aws_rds_iam (0.3.1)
4
+ pg-aws_rds_iam (0.4.1)
12
5
  aws-sdk-rds (~> 1.0)
13
6
  pg (>= 0.18, < 2.0)
14
7
 
15
8
  GEM
16
9
  remote: https://rubygems.org/
17
10
  specs:
18
- activemodel (6.1.3)
19
- activesupport (= 6.1.3)
20
- activerecord (6.1.3)
21
- activemodel (= 6.1.3)
22
- activesupport (= 6.1.3)
23
- activesupport (6.1.3)
11
+ activemodel (7.0.3.1)
12
+ activesupport (= 7.0.3.1)
13
+ activerecord (7.0.3.1)
14
+ activemodel (= 7.0.3.1)
15
+ activesupport (= 7.0.3.1)
16
+ activesupport (7.0.3.1)
24
17
  concurrent-ruby (~> 1.0, >= 1.0.2)
25
18
  i18n (>= 1.6, < 2)
26
19
  minitest (>= 5.1)
27
20
  tzinfo (~> 2.0)
28
- zeitwerk (~> 2.3)
29
21
  ansi (1.5.0)
30
22
  ast (2.4.2)
31
23
  aws-eventstream (1.2.0)
32
- aws-partitions (1.525.0)
33
- aws-sdk-core (3.122.0)
24
+ aws-partitions (1.607.0)
25
+ aws-sdk-core (3.131.2)
34
26
  aws-eventstream (~> 1, >= 1.0.2)
35
27
  aws-partitions (~> 1, >= 1.525.0)
36
28
  aws-sigv4 (~> 1.1)
37
- jmespath (~> 1.0)
38
- aws-sdk-ec2 (1.277.0)
39
- aws-sdk-core (~> 3, >= 3.122.0)
29
+ jmespath (~> 1, >= 1.6.1)
30
+ aws-sdk-ec2 (1.322.0)
31
+ aws-sdk-core (~> 3, >= 3.127.0)
40
32
  aws-sigv4 (~> 1.1)
41
- aws-sdk-rds (1.130.0)
42
- aws-sdk-core (~> 3, >= 3.122.0)
33
+ aws-sdk-rds (1.148.0)
34
+ aws-sdk-core (~> 3, >= 3.127.0)
43
35
  aws-sigv4 (~> 1.1)
44
- aws-sigv4 (1.4.0)
36
+ aws-sigv4 (1.5.0)
45
37
  aws-eventstream (~> 1, >= 1.0.2)
46
38
  builder (3.2.4)
47
39
  coderay (1.1.3)
48
- commonmarker (0.23.2)
49
- concurrent-ruby (1.1.8)
50
- i18n (1.8.9)
40
+ commonmarker (0.23.5)
41
+ concurrent-ruby (1.1.10)
42
+ i18n (1.11.0)
51
43
  concurrent-ruby (~> 1.0)
52
- jmespath (1.4.0)
44
+ jmespath (1.6.1)
45
+ json (2.6.2)
53
46
  method_source (1.0.0)
54
- minitest (5.14.4)
55
- minitest-reporters (1.4.3)
47
+ minitest (5.16.2)
48
+ minitest-reporters (1.5.0)
56
49
  ansi
57
50
  builder
58
51
  minitest (>= 5.0)
59
52
  ruby-progressbar
60
- parallel (1.21.0)
61
- parser (3.0.2.0)
53
+ parallel (1.22.1)
54
+ parser (3.1.2.0)
62
55
  ast (~> 2.4.1)
63
- pg (1.2.3)
56
+ pg (1.4.1)
64
57
  pry (0.14.1)
65
58
  coderay (~> 1.1)
66
59
  method_source (~> 1.0)
67
- rainbow (3.0.0)
60
+ rainbow (3.1.1)
68
61
  rake (13.0.6)
69
- regexp_parser (2.1.1)
62
+ regexp_parser (2.5.0)
70
63
  rexml (3.2.5)
71
- rubocop (1.22.3)
64
+ rubocop (1.31.2)
65
+ json (~> 2.3)
72
66
  parallel (~> 1.10)
73
- parser (>= 3.0.0.0)
67
+ parser (>= 3.1.0.0)
74
68
  rainbow (>= 2.2.2, < 4.0)
75
69
  regexp_parser (>= 1.8, < 3.0)
76
- rexml
77
- rubocop-ast (>= 1.12.0, < 2.0)
70
+ rexml (>= 3.2.5, < 4.0)
71
+ rubocop-ast (>= 1.18.0, < 2.0)
78
72
  ruby-progressbar (~> 1.7)
79
73
  unicode-display_width (>= 1.4.0, < 3.0)
80
- rubocop-ast (1.12.0)
81
- parser (>= 3.0.1.1)
82
- rubocop-minitest (0.15.2)
74
+ rubocop-ast (1.19.1)
75
+ parser (>= 3.1.1.0)
76
+ rubocop-minitest (0.20.1)
83
77
  rubocop (>= 0.90, < 2.0)
84
78
  rubocop-rake (0.6.0)
85
79
  rubocop (~> 1.0)
86
80
  ruby-progressbar (1.11.0)
87
- timecop (0.9.4)
81
+ timecop (0.9.5)
88
82
  tzinfo (2.0.4)
89
83
  concurrent-ruby (~> 1.0)
90
- unicode-display_width (2.1.0)
84
+ unicode-display_width (2.2.0)
91
85
  webrick (1.7.0)
92
- zeitwerk (2.4.2)
86
+ yard (0.9.28)
87
+ webrick (~> 1.7.0)
93
88
 
94
89
  PLATFORMS
95
90
  ruby
@@ -109,7 +104,7 @@ DEPENDENCIES
109
104
  rubocop-minitest
110
105
  rubocop-rake
111
106
  timecop
112
- yard!
107
+ yard
113
108
 
114
109
  BUNDLED WITH
115
- 2.2.21
110
+ 2.3.18
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem](https://img.shields.io/gem/v/pg-aws_rds_iam?style=flat-square)](https://rubygems.org/gems/pg-aws_rds_iam)
4
4
  &ensp;
5
- [![Docs](https://img.shields.io/badge/yard-docs-blue?style=flat-square)](https://haines.github.io/pg-aws_rds_iam/)
5
+ [![Docs](https://img.shields.io/badge/yard-docs-blue?style=flat-square)](https://www.rubydoc.info/gems/pg-aws_rds_iam)
6
6
 
7
7
  `PG::AWS_RDS_IAM` is a plugin for the [`pg` gem](https://rubygems.org/gems/pg) that adds support for [IAM authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) when connecting to PostgreSQL databases hosted in Amazon RDS.
8
8
 
data/bin/version-matrix CHANGED
@@ -9,15 +9,15 @@ def minor_versions(name, requirement)
9
9
  end
10
10
 
11
11
  ruby_activerecord_requirements = {
12
- "2.6" => ">= 5.2",
13
- "2.7" => ">= 5.2",
14
- "3.0" => ">= 6.0"
12
+ "2.7" => ">= 6.0",
13
+ "3.0" => ">= 6.0",
14
+ "3.1" => ">= 6.0"
15
15
  }
16
16
 
17
17
  activerecord_pg_requirements = {
18
- "5.2" => [">= 0.18", "< 2.0"],
19
18
  "6.0" => [">= 0.18", "< 2.0"],
20
- "6.1" => "~> 1.1"
19
+ "6.1" => "~> 1.1",
20
+ "7.0" => "~> 1.1"
21
21
  }
22
22
 
23
23
  versions = ruby_activerecord_requirements.flat_map do |ruby_version, activerecord_requirement|
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PG
4
+ module AWS_RDS_IAM
5
+ module ActiveRecordPostgreSQLDatabaseTasks
6
+ private
7
+
8
+ def psql_env
9
+ super.tap do |psql_env|
10
+ AuthTokenInjector.new.inject_into_psql_env! configuration_hash, psql_env
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PG
4
+ module AWS_RDS_IAM
5
+ module ActiveRecordPostgreSQLDatabaseTasks
6
+ private
7
+
8
+ def set_psql_env
9
+ super
10
+ hash = respond_to?(:configuration_hash, true) ? configuration_hash : configuration.symbolize_keys
11
+ AuthTokenInjector.new.inject_into_psql_env! hash, ENV
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PG
4
+ module AWS_RDS_IAM
5
+ module ActiveRecordPostgreSQLDatabaseTasks
6
+ end
7
+
8
+ private_constant :ActiveRecordPostgreSQLDatabaseTasks
9
+ end
10
+ end
11
+
12
+ if ActiveRecord::Tasks::PostgreSQLDatabaseTasks.private_instance_methods.include?(:psql_env)
13
+ require_relative "active_record_postgresql_database_tasks/psql_env"
14
+ else
15
+ require_relative "active_record_postgresql_database_tasks/set_psql_env"
16
+ end
@@ -3,38 +3,39 @@
3
3
  module PG
4
4
  module AWS_RDS_IAM
5
5
  class AuthTokenInjector
6
- def self.call(connection_string, auth_token_generators: AWS_RDS_IAM.auth_token_generators)
7
- new(connection_string, auth_token_generators: auth_token_generators).call
8
- end
9
-
10
- def initialize(connection_string, auth_token_generators:)
11
- @connection_string = connection_string
12
- @connection_info = ConnectionInfo.new(connection_string)
13
- @connection_defaults = PG::Connection.conndefaults_hash
6
+ def initialize(auth_token_generators: AWS_RDS_IAM.auth_token_generators)
14
7
  @auth_token_generators = auth_token_generators
8
+ @connection_defaults = PG::Connection.conndefaults_hash
15
9
  end
16
10
 
17
- def call
18
- return @connection_string unless generate_auth_token?
11
+ def inject_into_connection_string(connection_string)
12
+ connection_info = ConnectionInfo.from_connection_string(connection_string)
13
+ return connection_string unless generate_auth_token?(connection_info)
14
+
15
+ connection_info.password = generate_auth_token(connection_info)
16
+ connection_info.to_s
17
+ end
19
18
 
20
- @connection_info.password = generate_auth_token
19
+ def inject_into_psql_env!(configuration_hash, psql_env)
20
+ connection_info = ConnectionInfo.from_active_record_configuration_hash(configuration_hash)
21
+ return unless generate_auth_token?(connection_info)
21
22
 
22
- @connection_info.to_s
23
+ psql_env["PGPASSWORD"] = generate_auth_token(connection_info)
23
24
  end
24
25
 
25
26
  private
26
27
 
27
- def generate_auth_token?
28
- @connection_info.auth_token_generator_name
28
+ def generate_auth_token?(connection_info)
29
+ connection_info.auth_token_generator_name
29
30
  end
30
31
 
31
- def generate_auth_token
32
+ def generate_auth_token(connection_info)
32
33
  @auth_token_generators
33
- .fetch(@connection_info.auth_token_generator_name)
34
+ .fetch(connection_info.auth_token_generator_name)
34
35
  .call(
35
- user: @connection_info.user || default(:user),
36
- host: @connection_info.host || default(:host),
37
- port: @connection_info.port || default(:port)
36
+ user: connection_info.user || default(:user),
37
+ host: connection_info.host || default(:host),
38
+ port: connection_info.port || default(:port)
38
39
  )
39
40
  end
40
41
 
@@ -4,7 +4,25 @@ module PG
4
4
  module AWS_RDS_IAM
5
5
  module Connection
6
6
  def conndefaults
7
- super + [{
7
+ super + [conndefault_aws_rds_iam_auth_token_generator]
8
+ end
9
+
10
+ def conninfo_parse(connection_string)
11
+ connection_info = ConnectionInfo.from_connection_string(connection_string)
12
+
13
+ super(connection_info.to_s).tap do |result|
14
+ result << conndefault_aws_rds_iam_auth_token_generator.merge(val: connection_info.auth_token_generator_name) if connection_info.auth_token_generator_name
15
+ end
16
+ end
17
+
18
+ def parse_connect_args(*args)
19
+ AuthTokenInjector.new.inject_into_connection_string(super)
20
+ end
21
+
22
+ private
23
+
24
+ def conndefault_aws_rds_iam_auth_token_generator
25
+ {
8
26
  keyword: "aws_rds_iam_auth_token_generator",
9
27
  envvar: nil,
10
28
  compiled: nil,
@@ -12,11 +30,7 @@ module PG
12
30
  label: "AWS-RDS-IAM-auth-token-generator",
13
31
  dispchar: "",
14
32
  dispsize: 64
15
- }]
16
- end
17
-
18
- def parse_connect_args(*)
19
- AuthTokenInjector.call(super)
33
+ }
20
34
  end
21
35
  end
22
36
 
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PG
4
+ module AWS_RDS_IAM
5
+ module ConnectionInfo
6
+ class ActiveRecordConfigurationHash
7
+ def initialize(configuration_hash)
8
+ @configuration_hash = configuration_hash
9
+ end
10
+
11
+ def auth_token_generator_name
12
+ @configuration_hash[:aws_rds_iam_auth_token_generator]
13
+ end
14
+
15
+ def user
16
+ @configuration_hash[:username]
17
+ end
18
+
19
+ def host
20
+ @configuration_hash[:host]
21
+ end
22
+
23
+ def port
24
+ @configuration_hash[:port]
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -12,7 +12,7 @@ module PG
12
12
 
13
13
  def initialize(connection_string)
14
14
  @uri = ::URI.parse(connection_string)
15
- @query = ::URI.decode_www_form(@uri.query).to_h
15
+ @query = @uri.query ? ::URI.decode_www_form(@uri.query).to_h : {}
16
16
  @auth_token_generator_name = @query.delete("aws_rds_iam_auth_token_generator")
17
17
  end
18
18
 
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative "connection_info/active_record_configuration_hash"
3
4
  require_relative "connection_info/keyword_value_string"
4
5
  require_relative "connection_info/parse_error"
5
6
  require_relative "connection_info/uri"
@@ -7,13 +8,17 @@ require_relative "connection_info/uri"
7
8
  module PG
8
9
  module AWS_RDS_IAM
9
10
  module ConnectionInfo
10
- def self.new(connection_string)
11
+ def self.from_connection_string(connection_string)
11
12
  if URI.match?(connection_string)
12
13
  URI.new(connection_string)
13
14
  else
14
15
  KeywordValueString.new(connection_string)
15
16
  end
16
17
  end
18
+
19
+ def self.from_active_record_configuration_hash(configuration_hash)
20
+ ActiveRecordConfigurationHash.new(configuration_hash)
21
+ end
17
22
  end
18
23
 
19
24
  private_constant :ConnectionInfo
@@ -3,6 +3,6 @@
3
3
  module PG
4
4
  module AWS_RDS_IAM
5
5
  # The current version of the gem.
6
- VERSION = "0.3.1"
6
+ VERSION = "0.4.1"
7
7
  end
8
8
  end
@@ -26,5 +26,11 @@ module PG
26
26
  end
27
27
 
28
28
  PG::Connection.singleton_class.prepend Connection
29
+
30
+ if defined?(ActiveRecord)
31
+ require_relative "aws_rds_iam/active_record_postgresql_database_tasks"
32
+
33
+ ActiveRecord::Tasks::PostgreSQLDatabaseTasks.prepend ActiveRecordPostgreSQLDatabaseTasks
34
+ end
29
35
  end
30
36
  end
@@ -21,11 +21,13 @@ Gem::Specification.new do |spec|
21
21
  spec.metadata["homepage_uri"] = spec.homepage
22
22
  spec.metadata["source_code_uri"] = spec.homepage
23
23
 
24
+ spec.metadata["rubygems_mfa_required"] = "true"
25
+
24
26
  spec.files = Dir.chdir(__dir__) { `git ls-files -z`.split("\x0").reject { |path| path.start_with?("test/") } }
25
27
 
26
28
  spec.require_paths = ["lib"]
27
29
 
28
- spec.required_ruby_version = ">= 2.6"
30
+ spec.required_ruby_version = ">= 2.7"
29
31
 
30
32
  spec.add_dependency "aws-sdk-rds", "~> 1.0"
31
33
  spec.add_dependency "pg", ">= 0.18", "< 2.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg-aws_rds_iam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Haines
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-10 00:00:00.000000000 Z
11
+ date: 2022-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-rds
@@ -74,11 +74,15 @@ files:
74
74
  - bin/version-matrix
75
75
  - bin/yard
76
76
  - lib/pg/aws_rds_iam.rb
77
+ - lib/pg/aws_rds_iam/active_record_postgresql_database_tasks.rb
78
+ - lib/pg/aws_rds_iam/active_record_postgresql_database_tasks/psql_env.rb
79
+ - lib/pg/aws_rds_iam/active_record_postgresql_database_tasks/set_psql_env.rb
77
80
  - lib/pg/aws_rds_iam/auth_token_generator.rb
78
81
  - lib/pg/aws_rds_iam/auth_token_generator_registry.rb
79
82
  - lib/pg/aws_rds_iam/auth_token_injector.rb
80
83
  - lib/pg/aws_rds_iam/connection.rb
81
84
  - lib/pg/aws_rds_iam/connection_info.rb
85
+ - lib/pg/aws_rds_iam/connection_info/active_record_configuration_hash.rb
82
86
  - lib/pg/aws_rds_iam/connection_info/keyword_value_string.rb
83
87
  - lib/pg/aws_rds_iam/connection_info/parse_error.rb
84
88
  - lib/pg/aws_rds_iam/connection_info/uri.rb
@@ -90,9 +94,10 @@ licenses:
90
94
  metadata:
91
95
  bug_tracker_uri: https://github.com/haines/pg-aws_rds_iam/issues
92
96
  changelog_uri: https://github.com/haines/pg-aws_rds_iam/blob/main/CHANGELOG.md
93
- documentation_uri: https://rubydoc.info/gems/pg-aws_rds_iam/0.3.1
97
+ documentation_uri: https://rubydoc.info/gems/pg-aws_rds_iam/0.4.1
94
98
  homepage_uri: https://github.com/haines/pg-aws_rds_iam
95
99
  source_code_uri: https://github.com/haines/pg-aws_rds_iam
100
+ rubygems_mfa_required: 'true'
96
101
  post_install_message:
97
102
  rdoc_options: []
98
103
  require_paths:
@@ -101,14 +106,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
106
  requirements:
102
107
  - - ">="
103
108
  - !ruby/object:Gem::Version
104
- version: '2.6'
109
+ version: '2.7'
105
110
  required_rubygems_version: !ruby/object:Gem::Requirement
106
111
  requirements:
107
112
  - - ">="
108
113
  - !ruby/object:Gem::Version
109
114
  version: '0'
110
115
  requirements: []
111
- rubygems_version: 3.2.31
116
+ rubygems_version: 3.3.18
112
117
  signing_key:
113
118
  specification_version: 4
114
119
  summary: IAM authentication for PostgreSQL on Amazon RDS