r_creds 0.1.0 → 0.2.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: 03db4fe4423fb4084b0d989b6335d6b02fcfbe744aa8b0f8ef502db271b98b35
4
- data.tar.gz: b6d7c8d82034779ec276f7effa2bd4cd71e9992d0e6777bd5377c805800e610a
3
+ metadata.gz: 6edc8f797ac6ff69cfefcb20f7c264ad2e343e31e81587ff22801283d3ef0000
4
+ data.tar.gz: 1231fafcb7427607baf4bc9a2b3d450db155fba687f2fb1263afa0143962d786
5
5
  SHA512:
6
- metadata.gz: 4d4af24c475d19b07981ed15edf7ed0309d26ae535ec8868cca3a4f80b905bbcc167091b231b089396da2aec061b3014766e6237bf4e0abdf5fbbc6351fce455
7
- data.tar.gz: f084d270504dd7d687330c5366907d5316fcb27d5eb79117d6230b8febf924a38a05ff4b880e10b86de0ea9c9734e555b66a548cf3e9afa893de78e156cf680d
6
+ metadata.gz: 3bd20b25108f689437f4401e0d3d19bdb6614e88714858cfd43bbcb280410cdd573830f2ad39479e5de67249b1afe31411f4b63c13f401f846343b915ffa50fe
7
+ data.tar.gz: 3f998b19a77ac0bb665ebd0b28a60c33fe47a07002daa76790de6d4bd5491f30256f3b47e579ff3d03587910f9d0b96231f54cdf65736fd0932213c13cec647a
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # RCreds
2
2
 
3
- Work simple with creds in Rails 5.2 and above!
3
+ RCreds makes working with Rails 5.2 credentials easier
4
4
 
5
5
  ## Installation
6
6
 
@@ -19,24 +19,33 @@ Or install it yourself as:
19
19
  $ gem install r_creds
20
20
 
21
21
  ## Usage
22
-
23
- RCreds give an ability to read credentials in credentials.yml, ENV or use default value!
24
-
22
+ There are no need to do this:
23
+ ```ruby
24
+ Rails.application.credentials[Rails.env.to_sym][:aws][:access_key_id]
25
+ ```
26
+ Use RCreds instead:
25
27
  ```ruby
26
- # returns value from credentials.yml for current environment
27
- RCreds.fetch(:payment_system, :secret_key)
28
+ RCreds.fetch(:aws, :access_key_id)
28
29
  ```
30
+
31
+ RCreds give an ability to read credentials in credentials.yml, ENV or use default value!
29
32
  ```ruby
30
- # returns value from credentials.yml for current environment or default
31
- RCreds.fetch(:redis, :url, default: 'redis://localhost:6379/0')
33
+ # value set in credentials.yml
34
+ RCreds.fetch(:aws, :access_key_id) # output: secret_key_from_credentials_yaml
35
+
36
+ # no value in credentials.yml but,
37
+ ENV['AWS_ACCESS_KEY_ID'] = 'aws_key_from_env_variable'
38
+ RCreds.fetch(:aws, :access_key_id) # output: aws_key_from_env_variable
39
+
40
+ # no value in credentials.yml and ENV - use default
41
+ RCreds.fetch(:aws, :access_key_id, default: 'some_default_test_key') # output: some_default_test_key
32
42
  ```
43
+ RCreds searches for values in following order: credentials.yml > ENV > default and returns nil if nothing match
44
+
45
+ RCreds uses `Rails.env` to determinate environment. But you can set any environement.
33
46
  ```ruby
34
- # if value is set in as ENV variable it will be fetched if it's not set in credentials.yml
35
- # keys concatenates as in following example
36
- ENV['REDIS_URL'] = 'redis://real_redis_url'
37
- RCreds.fetch(:redis, :url, default: 'redis://localhost:6379/0') # output: redis://real_redis_url
47
+ RCreds.fetch(:aws, :access_key_id, environment: 'production')
38
48
  ```
39
- RCreds search for values in following order: credentials.yml > ENV > default:
40
49
 
41
50
  ## Development
42
51
 
@@ -46,7 +55,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
46
55
 
47
56
  ## Contributing
48
57
 
49
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/r_creds. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
58
+ Bug reports and pull requests are welcome on GitHub at https://github.com/OrestF/r_creds. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
50
59
 
51
60
  ## License
52
61
 
@@ -54,4 +63,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
54
63
 
55
64
  ## Code of Conduct
56
65
 
57
- Everyone interacting in the RCreds project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/r_creds/blob/master/CODE_OF_CONDUCT.md).
66
+ Everyone interacting in the RCreds project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/OrestF/r_creds/blob/master/CODE_OF_CONDUCT.md).
@@ -2,7 +2,7 @@ require "r_creds/version"
2
2
  require_relative "r_creds/fetcher"
3
3
 
4
4
  module RCreds
5
- def self.fetch(*keys, default: nil)
6
- Fetcher.new(keys, default).call
5
+ def self.fetch(*keys, default: nil, environment: nil)
6
+ Fetcher.new(keys, default, environment).call
7
7
  end
8
8
  end
@@ -2,9 +2,10 @@ module RCreds
2
2
  class Fetcher
3
3
  class NoRailsError < StandardError; end
4
4
 
5
- def initialize(keys, default)
5
+ def initialize(keys, default, environment)
6
6
  @keys = keys
7
7
  @default = default
8
+ @environment = environment
8
9
  end
9
10
 
10
11
  attr_reader :keys, :default
@@ -14,8 +15,14 @@ module RCreds
14
15
  fetch
15
16
  end
16
17
 
18
+ private
19
+
20
+ def environment
21
+ (presence?(@environment) || Rails.env).to_sym
22
+ end
23
+
17
24
  def fetch
18
- cred = Rails.application.credentials.dig(Rails.env.to_sym, *keys)
25
+ cred = Rails.application.credentials.dig(environment, *keys)
19
26
 
20
27
  presence?(cred) || presence?(ENV[keys.join('_').upcase]) || default
21
28
  end
@@ -1,3 +1,3 @@
1
1
  module RCreds
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -9,10 +9,11 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["OrestF"]
10
10
  spec.email = ["falchuko@gmail.com"]
11
11
 
12
- spec.summary = 'RCreds make working with Rails 5.2 credentials easier'
13
- spec.description = 'RCreds make working with Rails 5.2 credentials easier'
12
+ spec.summary = 'RCreds makes working with Rails 5.2 credentials easier'
13
+ spec.description = 'RCreds makes working with Rails 5.2 credentials easier'
14
14
  spec.homepage = 'https://github.com/OrestF/r_creds'
15
15
  spec.license = "MIT"
16
+ spec.required_ruby_version = '>= 2.0.0'
16
17
 
17
18
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
19
  # to allow pushing to a single host or delete this section to allow pushing to any host.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r_creds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OrestF
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-07 00:00:00.000000000 Z
11
+ date: 2019-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,7 +52,7 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
- description: RCreds make working with Rails 5.2 credentials easier
55
+ description: RCreds makes working with Rails 5.2 credentials easier
56
56
  email:
57
57
  - falchuko@gmail.com
58
58
  executables: []
@@ -76,7 +76,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
76
76
  requirements:
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: '0'
79
+ version: 2.0.0
80
80
  required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - ">="
@@ -84,8 +84,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  version: '0'
85
85
  requirements: []
86
86
  rubyforge_project:
87
- rubygems_version: 2.7.3
87
+ rubygems_version: 2.7.7
88
88
  signing_key:
89
89
  specification_version: 4
90
- summary: RCreds make working with Rails 5.2 credentials easier
90
+ summary: RCreds makes working with Rails 5.2 credentials easier
91
91
  test_files: []