Module: SecureCredentials::Rails::ApplicationMethods

Defined in:
lib/secure_credentials/rails/application_methods.rb

Overview

Provides patch for Rails::Application, to make it use SecureCredentials as a replacement for built-in ‘#credentials` and `#secrets`.

Instance Method Summary collapse

Instance Method Details

#credentialsObject



13
14
15
# File 'lib/secure_credentials/rails/application_methods.rb', line 13

def credentials
  @credentials ||= read_secure_credentials('config/credentials')
end

#read_secure_credentials(path, key_path: nil, **options) ⇒ Object Also known as: encrypted



17
18
19
20
21
22
23
# File 'lib/secure_credentials/rails/application_methods.rb', line 17

def read_secure_credentials(path, key_path: nil, **options)
  # Unlike Rails we don't provide default value for key_path
  # to be able to generate it based on path.
  key_path &&= ::Rails.root.join(key_path)
  store = Store.new(::Rails.root.join(path), key_path: key_path, env: ::Rails.env, **options)
  Credentials.new(store)
end

#secretsObject



9
10
11
# File 'lib/secure_credentials/rails/application_methods.rb', line 9

def secrets
  @secrets ||= read_secure_credentials('config/secrets')
end