ejson-rails 0.2.1 → 1.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: 69f79981ad2617db5951c38bdef5d9fb77dedd27e52378f3fa460e5af89435b0
4
- data.tar.gz: 7ded0b73fc84ae62c508afa5e2c185f85edd83a12872a326c11a9df91292b577
3
+ metadata.gz: 3bede97f3d90eb8a1088a761e2bab8c883f07c9262f408a3dbb0578c783b34c0
4
+ data.tar.gz: 95521f7ebf60e54fb51876f4bedbbf343bac5a9bad08fcb89e3a3c5daac587a7
5
5
  SHA512:
6
- metadata.gz: bbe4e714ed9a6f110a781e8f8e1fdde6a26695f949798dd8eabdd9ba59a5321a1928dc6d6b2d6f9b685c89232873b4fa00dbfac0daefd10acc7dee09baf8f2c2
7
- data.tar.gz: 15e2abb7e802deeaa5358ec6cd10f52576a4402bf490bcae5121152fa1cde54d29cafd2899ccb4244274dd809f61b09331ff7e1d4d77dde38ce0fa9813f9ae1c
6
+ metadata.gz: 4c402407b30ac8948a9cb8a6e3f36addaebf123e3a06672d8731cebee91a6e412524a51a5028059de56628fc46425b48548b48aab31a2cf5b81228b843bf93a9
7
+ data.tar.gz: 92f0fe6b5cc46616f83d4952e39c92fb008b707042e4e11c9f8f25418bf373f1c7345454cebe08a27aa6b4645f2acd3af67976472c84796dcaffc35146f688a5
@@ -0,0 +1,7 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: /
5
+ schedule:
6
+ interval: weekly
7
+ open-pull-requests-limit: 100
@@ -10,13 +10,13 @@ jobs:
10
10
  matrix:
11
11
  entry:
12
12
  - name: Minimum Rails
13
- ruby: '2.7'
13
+ ruby: '3.1'
14
14
  gemfile: Gemfile.rails-min
15
15
  - name: Latest Rails
16
- ruby: '3.2'
16
+ ruby: '3.3'
17
17
  gemfile: Gemfile.rails-latest
18
18
  - name: Edge Rails
19
- ruby: '3.2'
19
+ ruby: '3.3'
20
20
  gemfile: "Gemfile.rails-edge"
21
21
 
22
22
  name: ${{ matrix.entry.name }}
data/.rubocop.yml CHANGED
@@ -4,6 +4,5 @@ inherit_gem:
4
4
  AllCops:
5
5
  NewCops: disable
6
6
  SuggestExtensions: false
7
- TargetRubyVersion: 3.2
8
7
  Exclude:
9
8
  - vendor/bundle/**/*
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.2.0
1
+ 3.3.0
data/Gemfile.lock CHANGED
@@ -1,74 +1,77 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ejson-rails (0.2.1)
4
+ ejson-rails (1.0.0)
5
5
  ejson
6
- railties (>= 5.2)
6
+ railties (>= 6.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actionpack (7.1.2)
12
- actionview (= 7.1.2)
13
- activesupport (= 7.1.2)
11
+ actionpack (7.2.0)
12
+ actionview (= 7.2.0)
13
+ activesupport (= 7.2.0)
14
14
  nokogiri (>= 1.8.5)
15
15
  racc
16
- rack (>= 2.2.4)
16
+ rack (>= 2.2.4, < 3.2)
17
17
  rack-session (>= 1.0.1)
18
18
  rack-test (>= 0.6.3)
19
19
  rails-dom-testing (~> 2.2)
20
20
  rails-html-sanitizer (~> 1.6)
21
- actionview (7.1.2)
22
- activesupport (= 7.1.2)
21
+ useragent (~> 0.16)
22
+ actionview (7.2.0)
23
+ activesupport (= 7.2.0)
23
24
  builder (~> 3.1)
24
25
  erubi (~> 1.11)
25
26
  rails-dom-testing (~> 2.2)
26
27
  rails-html-sanitizer (~> 1.6)
27
- activesupport (7.1.2)
28
+ activesupport (7.2.0)
28
29
  base64
29
30
  bigdecimal
30
- concurrent-ruby (~> 1.0, >= 1.0.2)
31
+ concurrent-ruby (~> 1.0, >= 1.3.1)
31
32
  connection_pool (>= 2.2.5)
32
33
  drb
33
34
  i18n (>= 1.6, < 2)
35
+ logger (>= 1.4.2)
34
36
  minitest (>= 5.1)
35
- mutex_m
36
- tzinfo (~> 2.0)
37
+ securerandom (>= 0.3)
38
+ tzinfo (~> 2.0, >= 2.0.5)
37
39
  ast (2.4.2)
38
40
  base64 (0.2.0)
39
- bigdecimal (3.1.4)
40
- builder (3.2.4)
41
- concurrent-ruby (1.2.2)
41
+ bigdecimal (3.1.8)
42
+ builder (3.3.0)
43
+ concurrent-ruby (1.3.4)
42
44
  connection_pool (2.4.1)
43
45
  crass (1.0.6)
44
- diff-lcs (1.4.4)
45
- drb (2.2.0)
46
- ruby2_keywords
46
+ diff-lcs (1.5.1)
47
+ drb (2.2.1)
47
48
  ejson (1.4.1)
48
- erubi (1.12.0)
49
- i18n (1.14.1)
49
+ erubi (1.13.0)
50
+ i18n (1.14.5)
50
51
  concurrent-ruby (~> 1.0)
51
- io-console (0.6.0)
52
- irb (1.10.0)
53
- rdoc
54
- reline (>= 0.3.8)
55
- json (2.6.3)
52
+ io-console (0.7.2)
53
+ irb (1.14.0)
54
+ rdoc (>= 4.0.0)
55
+ reline (>= 0.4.2)
56
+ json (2.7.2)
57
+ language_server-protocol (3.17.0.3)
58
+ logger (1.6.0)
56
59
  loofah (2.22.0)
57
60
  crass (~> 1.0.2)
58
61
  nokogiri (>= 1.12.0)
59
- mini_portile2 (2.8.5)
60
- minitest (5.20.0)
61
- mutex_m (0.2.0)
62
- nokogiri (1.15.5)
62
+ mini_portile2 (2.8.7)
63
+ minitest (5.25.0)
64
+ nokogiri (1.16.7)
63
65
  mini_portile2 (~> 2.8.2)
64
66
  racc (~> 1.4)
65
- parallel (1.22.1)
66
- parser (3.2.0.0)
67
+ parallel (1.25.1)
68
+ parser (3.3.4.0)
67
69
  ast (~> 2.4.1)
68
- psych (5.1.1.1)
70
+ racc
71
+ psych (5.1.2)
69
72
  stringio
70
- racc (1.7.3)
71
- rack (3.0.8)
73
+ racc (1.8.1)
74
+ rack (3.1.7)
72
75
  rack-session (2.0.0)
73
76
  rack (>= 3.0.0)
74
77
  rack-test (2.1.0)
@@ -83,58 +86,62 @@ GEM
83
86
  rails-html-sanitizer (1.6.0)
84
87
  loofah (~> 2.21)
85
88
  nokogiri (~> 1.14)
86
- railties (7.1.2)
87
- actionpack (= 7.1.2)
88
- activesupport (= 7.1.2)
89
- irb
89
+ railties (7.2.0)
90
+ actionpack (= 7.2.0)
91
+ activesupport (= 7.2.0)
92
+ irb (~> 1.13)
90
93
  rackup (>= 1.0.0)
91
94
  rake (>= 12.2)
92
95
  thor (~> 1.0, >= 1.2.2)
93
96
  zeitwerk (~> 2.6)
94
97
  rainbow (3.1.1)
95
- rake (13.0.6)
96
- rdoc (6.6.0)
98
+ rake (13.2.1)
99
+ rdoc (6.7.0)
97
100
  psych (>= 4.0.0)
98
- regexp_parser (2.6.1)
99
- reline (0.4.1)
101
+ regexp_parser (2.9.2)
102
+ reline (0.5.9)
100
103
  io-console (~> 0.5)
101
- rexml (3.2.5)
102
- rspec (3.10.0)
103
- rspec-core (~> 3.10.0)
104
- rspec-expectations (~> 3.10.0)
105
- rspec-mocks (~> 3.10.0)
106
- rspec-core (3.10.1)
107
- rspec-support (~> 3.10.0)
108
- rspec-expectations (3.10.1)
104
+ rexml (3.3.4)
105
+ strscan
106
+ rspec (3.13.0)
107
+ rspec-core (~> 3.13.0)
108
+ rspec-expectations (~> 3.13.0)
109
+ rspec-mocks (~> 3.13.0)
110
+ rspec-core (3.13.0)
111
+ rspec-support (~> 3.13.0)
112
+ rspec-expectations (3.13.0)
109
113
  diff-lcs (>= 1.2.0, < 2.0)
110
- rspec-support (~> 3.10.0)
111
- rspec-mocks (3.10.2)
114
+ rspec-support (~> 3.13.0)
115
+ rspec-mocks (3.13.1)
112
116
  diff-lcs (>= 1.2.0, < 2.0)
113
- rspec-support (~> 3.10.0)
114
- rspec-support (3.10.2)
115
- rubocop (1.43.0)
117
+ rspec-support (~> 3.13.0)
118
+ rspec-support (3.13.1)
119
+ rubocop (1.65.1)
116
120
  json (~> 2.3)
121
+ language_server-protocol (>= 3.17.0)
117
122
  parallel (~> 1.10)
118
- parser (>= 3.2.0.0)
123
+ parser (>= 3.3.0.2)
119
124
  rainbow (>= 2.2.2, < 4.0)
120
- regexp_parser (>= 1.8, < 3.0)
125
+ regexp_parser (>= 2.4, < 3.0)
121
126
  rexml (>= 3.2.5, < 4.0)
122
- rubocop-ast (>= 1.24.1, < 2.0)
127
+ rubocop-ast (>= 1.31.1, < 2.0)
123
128
  ruby-progressbar (~> 1.7)
124
129
  unicode-display_width (>= 2.4.0, < 3.0)
125
- rubocop-ast (1.24.1)
126
- parser (>= 3.1.1.0)
127
- rubocop-shopify (2.11.1)
128
- rubocop (~> 1.42)
129
- ruby-progressbar (1.11.0)
130
- ruby2_keywords (0.0.5)
131
- stringio (3.1.0)
132
- thor (1.3.0)
130
+ rubocop-ast (1.31.3)
131
+ parser (>= 3.3.1.0)
132
+ rubocop-shopify (2.15.1)
133
+ rubocop (~> 1.51)
134
+ ruby-progressbar (1.13.0)
135
+ securerandom (0.3.1)
136
+ stringio (3.1.1)
137
+ strscan (3.1.0)
138
+ thor (1.3.1)
133
139
  tzinfo (2.0.6)
134
140
  concurrent-ruby (~> 1.0)
135
- unicode-display_width (2.4.2)
141
+ unicode-display_width (2.5.0)
142
+ useragent (0.16.10)
136
143
  webrick (1.8.1)
137
- zeitwerk (2.6.12)
144
+ zeitwerk (2.6.17)
138
145
 
139
146
  PLATFORMS
140
147
  ruby
@@ -147,4 +154,4 @@ DEPENDENCIES
147
154
  rubocop-shopify
148
155
 
149
156
  BUNDLED WITH
150
- 2.3.17
157
+ 2.5.10
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Build Status](https://github.com/Shopify/ejson-rails/workflows/CI/badge.svg?branch=main)](https://github.com/Shopify/ejson-rails/actions?query=branch%3Amain)
4
4
 
5
- Automatically injects [`ejson`](https://github.com/Shopify/ejson) decrypted secrets into your `Rails.application.secrets`.
5
+ Automatically injects [`ejson`](https://github.com/Shopify/ejson) decrypted secrets into your `Rails.application.credentials`.
6
6
 
7
7
  ## Installation
8
8
 
@@ -20,124 +20,57 @@ Or install it yourself as:
20
20
 
21
21
  $ gem install ejson-rails
22
22
 
23
- ## Usage
24
-
25
- Decrypted secrets and credentials from `project/config/secrets.json` (or `project/config/secrets.{current_rails_environment}.json` if that doesn't exist) will be accessible via `Rails.application.secrets`. For example:
26
-
27
- `# project/config/secrets.json`
28
- ```json
29
- { "some_secret": "key" }
30
- ```
31
-
32
- will be accessible via `Rails.application.secrets.some_secret` or `Rails.application.secrets[:some_secret]` upon booting. JSON files are loaded once and contents are `deep_merge`'d into your app's existing rails secrets.
33
-
34
- Secrets will also be accessible via `Rails.application.credentials`, e.g. `Rails.application.credentials.some_secret` or `Rails.application.credentials[:some_secret]`. To avoid subtle compatibility issues, if a credential already exists, an error will occur.
35
-
36
- If you set the `EJSON_RAILS_DELETE_SECRETS` environment variable to `true` the gem will automatically delete the secrets from the filesystem after loading them into Rails. It will delete both paths (`project/config/secrets.json` and `project/config/secrets.{current_rails_environment}.json`) if the files exist and are writable.
37
-
38
- NOTE: This gem does not decrypt ejson for you. You will need to configure this as part of your deployment pipeline.
39
-
40
- ## Migrating to credentials
41
-
42
- Rails 7.1 has deprecated application secrets in favor of credentials. ejson-rails can migrate secrets to application credentials.
43
-
44
- Even before running Rails 7.1, you can migrate your secrets in several steps:
45
- 1. Convert secrets from YAML to JSON
46
- 2. Move any ERB embedded within the YAML to the corresponding environment file
47
- 3. Use `Rails.application.credentials` in place of Rails secrets
48
-
49
- ### 1. Convert secrets from config/secrets.yml to config/secrets.json
50
-
51
- Typically, secrets share the same structure across different environments. While test secrets are often placeholders, development secrets may sometimes use environment variables to communicate with external services.
52
- In that case, the easiest way to migrate is to use the test secrets in all local environments, and override for development as needed:
53
-
54
- ```sh-session
55
- # Recommended
56
- bin/rails runner -e test 'Rails.root.join("config/secrets.json").write(JSON.pretty_generate(Rails.application.secrets.to_h.without(:secret_key_base)))'
57
- ```
58
-
59
- > [!NOTE]
60
- > Alternatively, if its necessary to configure distinct values between the development/test environment, you can use separate JSON files for the development/test environments:
61
- >
62
- > ```sh-session
63
- > bin/rails runner 'Rails.root.join("config/secrets.#{Rails.env}.json").write(JSON.pretty_generate(Rails.application.secrets.to_h.without(:secret_key_base)))'
64
- > bin/rails runner -e test 'Rails.root.join("config/secrets.#{Rails.env}.json").write(JSON.pretty_generate(Rails.application.secrets.to_h.without(:secret_key_base)))'
65
- > ```
23
+ ## Configuration
66
24
 
67
- ### 2. Move any ERB into the corresponding environment files
25
+ By default, the gem will look for decrypted secrets in `project/config/secrets.json` or `project/config/secrets.{current_rails_environment}.json` if that doesn't exist.
68
26
 
69
- YAML supports ERB while JSON secrets do not. If your secrets contain ERB, you will need to move that logic to the corresponding environment file:
27
+ If your application or environment has a unique way of retrieving decrypted secrets, you can do so by setting `EJSON::Rails::Railtie.ejson_secret_source` to a callable object in `config/application.rb`. For example:
70
28
 
71
- **Before**:
72
-
73
- `config/secrets.yml`
74
- ```yaml
75
- development:
76
- some_external_service:
77
- api_token: <%= ENV.fetch(SOME_EXTERNAL_SERVICE_API_TOKEN, "12345") %>
78
- ```
79
-
80
- **After**:
81
-
82
- `config/secrets.json` as generated by the *recommended* command above.
83
- ```json
84
- {
85
- "some_external_service": {
86
- "api_token": "12345"
87
- },
88
- "something_else_entirely": "abc"
89
- }
90
- ```
91
-
92
- `config/environments/development.rb`
93
29
  ```ruby
94
- Rails.application.configure do
95
- # elided
96
-
97
- credentials.some_external_service.api_token = ENV.fetch("SOME_EXTERNAL_SERVICE_API_TOKEN", "12345")
98
- credentials.something_else_entirely = ENV.fetch("SOMETHING_ELSE_ENTIRELY", "abc")
30
+ # config/application.rb
31
+
32
+ # This must be placed BEFORE your application constant which inherits from Rails::Application
33
+ EJSON::Rails::Railtie.ejson_secret_source = FooBar::SecretCredentialReader
34
+
35
+ # Custom credential reader that lives somewhere else
36
+ module FooBar
37
+ class SecretCredentialReader
38
+ class << self
39
+ def call
40
+ '{"secret": "secret_from_ejson_secret_source"}'
41
+ end
42
+ end
43
+ end
99
44
  end
100
45
  ```
101
46
 
102
- #### Rails 7.0 Note
103
- > [!NOTE]
104
- > In Rails 7.0, credentials are accessed as a Hash with [] and []=.. This is important because the dynamic accessor methods will set values in a different object, and credentials will behave inconsistently after that:
47
+ For simple cases, you can use a `proc`:
105
48
 
106
49
  ```ruby
107
- Rails.application.credentials.some_external_service.api_token = "foo"
108
- Rails.application.credentials[:some_external_service][:api_token] # => "12345"
50
+ EJSON::Rails::Railtie.ejson_secret_source = proc { '{"secret": "secret_from_ejson_secret_source"}' }
109
51
  ```
110
52
 
111
- Also note the code sets top-level values through `credentials.config`, because `credentials#[]=(key, value)` sets values in a different object.
53
+ ## Usage
112
54
 
113
- ```ruby
114
- Rails.application.credentials[:something_else_entirely] = "foo"
115
- Rails.application.credentials[:something_else_entirely] # => "abc"
116
- ```
55
+ Decrypted secrets will be accessible via `Rails.application.credentials`. For example:
117
56
 
118
- Make sure there's no code using the dynamic accessors before setting the configuration in the Hash, or the values won't be accessible from the dynamic accessor:
57
+ `# project/config/secrets.json`
119
58
 
120
- ```ruby
121
- Rails.application.credentials.something_else_entirely # just accessing is enough to cause the issue
122
- Rails.application.credentials[:some_external_service][:api_token] = "foo"
123
- Rails.application.credentials.some_external_service.api_token # => "12345"
59
+ ```json
60
+ { "some_secret": "key" }
124
61
  ```
125
62
 
126
- ### 3. Use `Rails.application.credentials`
63
+ will be accessible via `Rails.application.credentials.some_secret` or `Rails.application.credentials[:some_secret]` upon booting. JSON files are loaded once and contents are `deep_merge`'d into your app's existing Rails credentials.
127
64
 
128
- You are now ready to replace Rails secrets with Rails credentials:
65
+ To avoid subtle compatibility issues, if a credential already exists, an error will occur.
129
66
 
130
- ```sh-session
131
- git ls-files | xargs ruby -pi -e 'gsub("Rails.application.secrets", "Rails.application.credentials")' --
132
- ```
67
+ If you set the `EJSON_RAILS_DELETE_SECRETS` environment variable to `true` the gem will automatically delete the secrets from the filesystem after loading them into Rails. It will delete both paths (`project/config/secrets.json` and `project/config/secrets.{current_rails_environment}.json`) if the files exist and are writable.
133
68
 
134
- To avoid the deprecation warning from the use of secrets in `ejson-rails` once you're running Rails 7.1, require another file from your Gemfile:
69
+ NOTE: This gem does not decrypt ejson for you. You will need to configure this as part of your deployment pipeline.
135
70
 
136
- ```ruby
137
- gem 'ejson-rails', require: 'ejson/rails/skip_secrets'
138
- ```
71
+ ## Migrating to credentials
139
72
 
140
- With this require, ejson-rails will no longer merge secrets from JSON into `Rails.application.secrets`. This will be the default in the next major version.
73
+ Rails 7.1 has deprecated application secrets in favor of credentials. `ejson-rails` no longer writes to Rails secrets to avoid crashing given Rails 7.2 removal of the feature. See the README for the last version that supports secrets to read more about migrating: [`ejson-rails` v0.2.2 – Migrating to credentials](https://github.com/Shopify/ejson-rails/tree/v0.2.2#migrating-to-credentials).
141
74
 
142
75
  ## Development
143
76
 
data/ejson-rails.gemspec CHANGED
@@ -23,10 +23,10 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.metadata = { "allowed_push_host" => "https://rubygems.org" }
25
25
 
26
- spec.required_ruby_version = ">= 2.7.0"
26
+ spec.required_ruby_version = ">= 3.1.0"
27
27
 
28
28
  spec.add_dependency("ejson")
29
- spec.add_dependency("railties", ">= 5.2")
29
+ spec.add_dependency("railties", ">= 6.1")
30
30
 
31
31
  spec.add_development_dependency("rake", "~> 13.0")
32
32
  spec.add_development_dependency("rspec", "~> 3.0")
@@ -2,4 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  eval_gemfile('../Gemfile')
4
4
 
5
- gem 'railties', '5.2'
5
+ gem 'railties', '6.1'
@@ -6,15 +6,14 @@ module EJSON
6
6
  private_constant :Rails
7
7
 
8
8
  class Railtie < Rails::Railtie
9
- singleton_class.attr_accessor(:set_secrets)
10
- @set_secrets = true
9
+ singleton_class.attr_accessor(:ejson_secret_source)
11
10
 
12
11
  config.before_configuration do
13
- json_file = json_files.detect { |file| valid?(file) }
14
- next unless json_file
12
+ secrets = load_secrets_from_config || load_secrets_from_disk
13
+ next unless secrets
14
+
15
+ secrets = JSON.parse(secrets, symbolize_names: true)
15
16
 
16
- secrets = JSON.parse(json_file.read, symbolize_names: true)
17
- Rails.application.secrets.deep_merge!(secrets) if set_secrets
18
17
  # Merging into `credentials.config` because in Rails 7.0, reading a credential with
19
18
  # Rails.application.credentials[:some_credential] won't work otherwise.
20
19
  Rails.application.credentials.config.deep_merge!(secrets) do |key|
@@ -32,6 +31,14 @@ module EJSON
32
31
  class << self
33
32
  private
34
33
 
34
+ def load_secrets_from_config
35
+ ejson_secret_source&.call
36
+ end
37
+
38
+ def load_secrets_from_disk
39
+ json_files.detect { |file| valid?(file) }&.read
40
+ end
41
+
35
42
  def valid?(pathname)
36
43
  pathname.exist?
37
44
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ warn 'Requiring "ejson/rails/skip_secrets" is deprecated. ' \
4
+ 'Use `require "ejson/rails" or remove the `:require` option from your Gemfile.'
3
5
  require "ejson/rails"
4
-
5
- EJSON::Rails::Railtie.set_secrets = false
@@ -2,6 +2,6 @@
2
2
 
3
3
  module EJSON
4
4
  module Rails
5
- VERSION = "0.2.1"
5
+ VERSION = "1.0.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ejson-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gannon McGibbon
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-04 00:00:00.000000000 Z
11
+ date: 2024-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ejson
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '5.2'
33
+ version: '6.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '5.2'
40
+ version: '6.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +74,7 @@ executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
+ - ".github/dependabot.yml"
77
78
  - ".github/workflows/ci.yml"
78
79
  - ".github/workflows/cla.yml"
79
80
  - ".gitignore"
@@ -101,7 +102,7 @@ licenses:
101
102
  - MIT
102
103
  metadata:
103
104
  allowed_push_host: https://rubygems.org
104
- post_install_message:
105
+ post_install_message:
105
106
  rdoc_options: []
106
107
  require_paths:
107
108
  - lib
@@ -109,15 +110,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
110
  requirements:
110
111
  - - ">="
111
112
  - !ruby/object:Gem::Version
112
- version: 2.7.0
113
+ version: 3.1.0
113
114
  required_rubygems_version: !ruby/object:Gem::Requirement
114
115
  requirements:
115
116
  - - ">="
116
117
  - !ruby/object:Gem::Version
117
118
  version: '0'
118
119
  requirements: []
119
- rubygems_version: 3.4.21
120
- signing_key:
120
+ rubygems_version: 3.5.17
121
+ signing_key:
121
122
  specification_version: 4
122
123
  summary: Asymmetric keywise encryption for JSON on Rails
123
124
  test_files: []