r_creds 0.2.1 → 1.1.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/README.md +7 -3
- data/lib/r_creds/fetcher.rb +26 -4
- data/lib/r_creds/version.rb +1 -1
- data/lib/r_creds.rb +2 -2
- data/r_creds.gemspec +15 -26
- metadata +13 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4dabe6bdee40775f9f0f9f4d01f16bea0ab6189dd25eb5d8cf9c306f2680a16b
|
4
|
+
data.tar.gz: c04ff62f0cef7c5209d17521820e20cb22c1f6aa22d2908167866d68d742e273
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a63a2e294b20d00462610f613f1ac4c67286753a9a30c38271db08ebf844c44fde6d861829d20e7ec7cdfcab6caa08940f3ed24b978308fff410d1e4569d19f3
|
7
|
+
data.tar.gz: 28aede2cc183cfdb7aa3a6af2ece6fcc32a60fe224bb843b829eb3f8cda725361339ded63bb700c942a4553d878f36267b7dcef2debe108771f2cca52c022424
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
# RCreds
|
1
|
+
# RCreds v1.1.0
|
2
2
|
|
3
|
-
RCreds makes working with Rails 5.2 credentials easier
|
3
|
+
RCreds makes working with Rails 5.2/6/7 credentials easier
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -42,10 +42,14 @@ RCreds.fetch(:aws, :access_key_id, default: 'some_default_test_key') # output: s
|
|
42
42
|
```
|
43
43
|
RCreds searches for values in following order: credentials.yml > ENV > default and returns nil if nothing match
|
44
44
|
|
45
|
-
|
45
|
+
# DEPRECATED
|
46
|
+
`Rails 6 loads only one specific environment credentials and does not allow to cahnge it.`
|
47
|
+
|
48
|
+
RCreds uses `Rails.env` to determinate environment. But you can set any environment.
|
46
49
|
```ruby
|
47
50
|
RCreds.fetch(:aws, :access_key_id, environment: 'production')
|
48
51
|
```
|
52
|
+
`Will be removed in next version`
|
49
53
|
|
50
54
|
## Development
|
51
55
|
|
data/lib/r_creds/fetcher.rb
CHANGED
@@ -3,7 +3,7 @@ module RCreds
|
|
3
3
|
class NoRailsError < StandardError; end
|
4
4
|
|
5
5
|
def initialize(keys, default, environment)
|
6
|
-
@keys = keys
|
6
|
+
@keys = keys.map!(&:to_sym)
|
7
7
|
@default = default
|
8
8
|
@environment = environment
|
9
9
|
end
|
@@ -22,7 +22,7 @@ module RCreds
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def fetch
|
25
|
-
cred =
|
25
|
+
cred = send("fetch_rails_#{@rails_version}")
|
26
26
|
|
27
27
|
presence?(cred) || presence?(ENV[keys.join('_').upcase]) || default
|
28
28
|
end
|
@@ -41,10 +41,32 @@ module RCreds
|
|
41
41
|
cred.respond_to?(:empty?) ? !!cred.empty? : !cred
|
42
42
|
end
|
43
43
|
|
44
|
+
def fetch_rails_5
|
45
|
+
Rails.application.credentials.dig(environment, *keys)
|
46
|
+
end
|
47
|
+
|
48
|
+
def fetch_rails_6
|
49
|
+
if rails6_multi_env?
|
50
|
+
puts "WARNING! Environment choice does not work in Rails >= 6. Fetching credentials for '#{Rails.env}'" if presence?(@environment)
|
51
|
+
Rails.application.credentials.dig(*keys)
|
52
|
+
else
|
53
|
+
Rails.application.credentials.dig(environment, *keys)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
alias fetch_rails_7 fetch_rails_6
|
57
|
+
|
58
|
+
def rails6_multi_env?
|
59
|
+
Rails.application.credentials.content_path.basename.to_s != 'credentials.yml.enc'
|
60
|
+
end
|
61
|
+
|
44
62
|
def check_rails
|
45
|
-
return true if defined?(::Rails)
|
63
|
+
return define_rails_strategy && true if defined?(::Rails)
|
64
|
+
|
65
|
+
raise NoRailsError, 'RCreds works with 5.2 and above'
|
66
|
+
end
|
46
67
|
|
47
|
-
|
68
|
+
def define_rails_strategy
|
69
|
+
@rails_version = Rails.version.to_i
|
48
70
|
end
|
49
71
|
end
|
50
72
|
end
|
data/lib/r_creds/version.rb
CHANGED
data/lib/r_creds.rb
CHANGED
data/r_creds.gemspec
CHANGED
@@ -1,41 +1,30 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
3
|
+
require 'r_creds/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
6
|
+
spec.name = 'r_creds'
|
8
7
|
spec.version = RCreds::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
8
|
+
spec.authors = ['OrestF']
|
9
|
+
spec.email = ['falchuko@gmail.com']
|
11
10
|
|
12
11
|
spec.summary = 'RCreds makes working with Rails 5.2 credentials easier'
|
13
12
|
spec.description = 'RCreds makes working with Rails 5.2 credentials easier'
|
14
13
|
spec.homepage = 'https://github.com/coaxsoft/r_creds'
|
15
|
-
spec.license =
|
16
|
-
spec.required_ruby_version = '>= 2.
|
17
|
-
|
18
|
-
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
19
|
-
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
20
|
-
# if spec.respond_to?(:metadata)
|
21
|
-
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
22
|
-
# else
|
23
|
-
# raise "RubyGems 2.0 or newer is required to protect against " \
|
24
|
-
# "public gem pushes."
|
25
|
-
# end
|
14
|
+
spec.license = 'MIT'
|
15
|
+
spec.required_ruby_version = '>= 2.2.0'
|
26
16
|
|
27
17
|
# Specify which files should be added to the gem when it is released.
|
28
18
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
29
|
-
spec.files
|
30
|
-
|
31
|
-
end
|
32
|
-
spec.bindir =
|
19
|
+
# spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
20
|
+
# `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
21
|
+
# end
|
22
|
+
spec.bindir = 'exe'
|
33
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
34
|
-
spec.require_paths = [
|
24
|
+
spec.require_paths = ['lib']
|
35
25
|
spec.files = Dir['README.md', 'lib/**/*', 'lib/*', 'r_creds.gemspec']
|
36
26
|
|
37
|
-
|
38
|
-
spec.add_development_dependency
|
39
|
-
spec.add_development_dependency
|
40
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
27
|
+
spec.add_development_dependency 'bundler'
|
28
|
+
spec.add_development_dependency 'rake', '~> 12.3'
|
29
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
41
30
|
end
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r_creds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OrestF
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '12.3'
|
34
34
|
type: :development
|
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: '
|
40
|
+
version: '12.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,7 +68,7 @@ homepage: https://github.com/coaxsoft/r_creds
|
|
68
68
|
licenses:
|
69
69
|
- MIT
|
70
70
|
metadata: {}
|
71
|
-
post_install_message:
|
71
|
+
post_install_message:
|
72
72
|
rdoc_options: []
|
73
73
|
require_paths:
|
74
74
|
- lib
|
@@ -76,16 +76,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
76
|
requirements:
|
77
77
|
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: 2.
|
79
|
+
version: 2.2.0
|
80
80
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: '0'
|
85
85
|
requirements: []
|
86
|
-
|
87
|
-
|
88
|
-
signing_key:
|
86
|
+
rubygems_version: 3.1.6
|
87
|
+
signing_key:
|
89
88
|
specification_version: 4
|
90
89
|
summary: RCreds makes working with Rails 5.2 credentials easier
|
91
90
|
test_files: []
|