class Creds
The main module of rails-creds
Constants
- VERSION
Public Class Methods
method_missing(name, *_args)
click to toggle source
rubocop:disable Style/MethodMissingSuper
# File lib/creds.rb, line 34 def self.method_missing(name, *_args) instance.credentials.fetch(name) rescue KeyError raise MissingKeyError.new(name, Rails.env) end
respond_to_missing?(_name)
click to toggle source
# File lib/creds.rb, line 29 def self.respond_to_missing?(_name) true end
to_h()
click to toggle source
rubocop:enable Style/MethodMissingSuper
# File lib/creds.rb, line 41 def self.to_h instance.credentials end
Public Instance Methods
credentials()
click to toggle source
# File lib/creds.rb, line 45 def credentials return @credentials if @credentials unless encrypted_credentials_exist? Rails.logger.warn MissingCredentialsWarning return NullCredentials.new end raise MissingMasterKeyError unless master_key_present? @credentials = fetch_credentials_for_current_env end
Private Instance Methods
encrypted_credentials_exist?()
click to toggle source
# File lib/creds.rb, line 69 def encrypted_credentials_exist? File.exist? Rails.root.join("config", "credentials.yml.enc") end
fetch_credentials_for_current_env()
click to toggle source
# File lib/creds.rb, line 60 def fetch_credentials_for_current_env base = Rails.application.credentials.config scoped = base.fetch(Rails.env.to_sym) base.delete(Rails.env.to_sym) base.merge(scoped) rescue KeyError raise MissingEnvError, Rails.env end
master_key_present?()
click to toggle source
# File lib/creds.rb, line 73 def master_key_present? return true if ENV["RAILS_MASTER_KEY"] return true if File.exist?(Rails.root.join("config", "master.key")) false end