kreds 1.1.7 → 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 +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +16 -4
- data/kreds.gemspec +2 -2
- data/lib/kreds/fetch.rb +4 -4
- data/lib/kreds/show.rb +5 -1
- data/lib/kreds/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 999a28daaa8839baa7e0ef9d1c2ff9f71fe244852ff18aa915998a8b48778214
|
|
4
|
+
data.tar.gz: 61fc895370da4b88283255b5d624105a915aef7e6ccf243817a52bde688105f7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d832a8fc6215794b577870950409214c0a3271032be13405037e304101b6b2f63f74724ff6af3bf6d956f21401232001a27aa652ff7176f465999b8d3c4545ae
|
|
7
|
+
data.tar.gz: 8436bcf11fa89dd44a88683f6b05e657e984be67b82caaf603308abec24e09685cb42112e3163387d79d89f4bc3f80caa456d919dbcfe2d0f00996622678e932
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## v2.0.0
|
|
2
|
+
|
|
3
|
+
- Dropped support for Ruby 3.2
|
|
4
|
+
- Dropped support for Rails 7.1
|
|
5
|
+
- Improved error messages and input validation
|
|
6
|
+
- Added `Kreds.env_show` method
|
|
7
|
+
- `Kreds.env_fetch!` now raises `InvalidArgumentError` when called with no keys
|
|
8
|
+
|
|
1
9
|
## v1.1.7
|
|
2
10
|
|
|
3
11
|
- Added support for Ruby 4
|
data/README.md
CHANGED
|
@@ -24,10 +24,10 @@ Rails.application.credentials.fetch(:recaptcha).fetch(:key)
|
|
|
24
24
|
|
|
25
25
|
# Kreds (clear, human-readable errors):
|
|
26
26
|
Kreds.fetch!(:recaptcha, :site_key)
|
|
27
|
-
# => Blank value in credentials:
|
|
27
|
+
# => Blank value in credentials: :recaptcha => :site_key (Kreds::BlankCredentialsError)
|
|
28
28
|
|
|
29
29
|
Kreds.fetch!(:recaptcha, :key)
|
|
30
|
-
# => Credentials key not found:
|
|
30
|
+
# => Credentials key not found: :recaptcha => :key (Kreds::UnknownCredentialsError)
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## Table of Contents
|
|
@@ -139,13 +139,25 @@ Useful for debugging and exploring available credentials in the Rails console.
|
|
|
139
139
|
|
|
140
140
|
```ruby
|
|
141
141
|
Kreds.show
|
|
142
|
+
# => { production: { aws: { access_key_id: "...", secret_access_key: "..." } }, ... }
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**`Kreds.env_show`**
|
|
146
|
+
|
|
147
|
+
Like `show`, but scoped to the current Rails environment.
|
|
148
|
+
|
|
149
|
+
**Returns:** Hash containing credentials for `Rails.env`
|
|
150
|
+
|
|
151
|
+
```ruby
|
|
152
|
+
# In production, returns credentials[:production]
|
|
153
|
+
Kreds.env_show
|
|
142
154
|
# => { aws: { access_key_id: "...", secret_access_key: "..." }, ... }
|
|
143
155
|
```
|
|
144
156
|
|
|
145
157
|
## Getting Help and Contributing
|
|
146
158
|
|
|
147
159
|
### Getting Help
|
|
148
|
-
Have a question or need assistance? Open a discussion in
|
|
160
|
+
Have a question or need assistance? Open a discussion in the [discussions section](https://github.com/enjaku4/kreds/discussions) for:
|
|
149
161
|
- Usage questions
|
|
150
162
|
- Implementation guidance
|
|
151
163
|
- Feature suggestions
|
|
@@ -160,7 +172,7 @@ Found a bug? Please [create an issue](https://github.com/enjaku4/kreds/issues) w
|
|
|
160
172
|
Ready to contribute? You can:
|
|
161
173
|
- Fix bugs by submitting pull requests
|
|
162
174
|
- Improve documentation
|
|
163
|
-
- Add new features (please discuss first in
|
|
175
|
+
- Add new features (please discuss first in the [discussions section](https://github.com/enjaku4/kreds/discussions))
|
|
164
176
|
|
|
165
177
|
Before contributing, please read the [contributing guidelines](https://github.com/enjaku4/kreds/blob/master/CONTRIBUTING.md)
|
|
166
178
|
|
data/kreds.gemspec
CHANGED
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
|
16
16
|
spec.summary = "The missing shorthand for Rails credentials"
|
|
17
17
|
spec.description = "Simpler and safer Rails credentials access with blank value detection and clear error messages"
|
|
18
18
|
spec.license = "MIT"
|
|
19
|
-
spec.required_ruby_version = ">= 3.
|
|
19
|
+
spec.required_ruby_version = ">= 3.3", "< 4.1"
|
|
20
20
|
|
|
21
21
|
spec.files = [
|
|
22
22
|
"kreds.gemspec", "README.md", "CHANGELOG.md", "LICENSE.txt"
|
|
@@ -24,5 +24,5 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
|
|
25
25
|
spec.require_paths = ["lib"]
|
|
26
26
|
|
|
27
|
-
spec.add_dependency "rails", ">= 7.
|
|
27
|
+
spec.add_dependency "rails", ">= 7.2", "< 8.2"
|
|
28
28
|
end
|
data/lib/kreds/fetch.rb
CHANGED
|
@@ -14,7 +14,7 @@ module Kreds
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def env_fetch!(*keys, var: nil, &)
|
|
17
|
-
fetch!(Rails.env, *keys, var:, &)
|
|
17
|
+
fetch!(Rails.env, *Kreds::Inputs.process(keys, as: :symbol_array), var:, &)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def var!(var, &)
|
|
@@ -33,7 +33,7 @@ module Kreds
|
|
|
33
33
|
value = hash.fetch(key)
|
|
34
34
|
|
|
35
35
|
raise Kreds::BlankCredentialsError, "Blank value in credentials: #{path_to_s(path)}" if value.blank?
|
|
36
|
-
raise Kreds::UnknownCredentialsError, "Credentials key not found: #{path_to_s(path
|
|
36
|
+
raise Kreds::UnknownCredentialsError, "Credentials key not found: #{path_to_s(path.append(keys[path.size]))}" unless value.is_a?(Hash) || keys == path
|
|
37
37
|
|
|
38
38
|
value
|
|
39
39
|
rescue KeyError
|
|
@@ -41,7 +41,7 @@ module Kreds
|
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
def fallback_to_var(error, var, &)
|
|
44
|
-
return raise_or_yield(error, &) if var.
|
|
44
|
+
return raise_or_yield(error, &) if var.nil?
|
|
45
45
|
|
|
46
46
|
var!(var, &)
|
|
47
47
|
rescue Kreds::BlankEnvironmentVariableError, Kreds::UnknownEnvironmentVariableError => e
|
|
@@ -53,7 +53,7 @@ module Kreds
|
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
def path_to_s(path)
|
|
56
|
-
|
|
56
|
+
path.map(&:inspect).join(" => ")
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
end
|
data/lib/kreds/show.rb
CHANGED
data/lib/kreds/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kreds
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- enjaku4
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 2026-03-31 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: rails
|
|
@@ -15,7 +15,7 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '7.
|
|
18
|
+
version: '7.2'
|
|
19
19
|
- - "<"
|
|
20
20
|
- !ruby/object:Gem::Version
|
|
21
21
|
version: '8.2'
|
|
@@ -25,7 +25,7 @@ dependencies:
|
|
|
25
25
|
requirements:
|
|
26
26
|
- - ">="
|
|
27
27
|
- !ruby/object:Gem::Version
|
|
28
|
-
version: '7.
|
|
28
|
+
version: '7.2'
|
|
29
29
|
- - "<"
|
|
30
30
|
- !ruby/object:Gem::Version
|
|
31
31
|
version: '8.2'
|
|
@@ -64,7 +64,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
64
64
|
requirements:
|
|
65
65
|
- - ">="
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '3.
|
|
67
|
+
version: '3.3'
|
|
68
68
|
- - "<"
|
|
69
69
|
- !ruby/object:Gem::Version
|
|
70
70
|
version: '4.1'
|
|
@@ -74,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
75
|
version: '0'
|
|
76
76
|
requirements: []
|
|
77
|
-
rubygems_version:
|
|
77
|
+
rubygems_version: 4.0.8
|
|
78
78
|
specification_version: 4
|
|
79
79
|
summary: The missing shorthand for Rails credentials
|
|
80
80
|
test_files: []
|