class ActiveSupport::EncryptedConfiguration

Public Class Methods

new(config_path:, key_path:, env_key:, raise_if_missing_key:) click to toggle source
Calls superclass method
# File lib/active_support/encrypted_configuration.rb, line 14
def initialize(config_path:, key_path:, env_key:, raise_if_missing_key:)
  super content_path: config_path, key_path: key_path,
    env_key: env_key, raise_if_missing_key: raise_if_missing_key
end

Public Instance Methods

config() click to toggle source
# File lib/active_support/encrypted_configuration.rb, line 32
def config
  @config ||= deserialize(read).deep_symbolize_keys
end
read() click to toggle source

Allow a config to be started without a file present

Calls superclass method
# File lib/active_support/encrypted_configuration.rb, line 20
def read
  super
rescue ActiveSupport::EncryptedFile::MissingContentError
  ""
end
write(contents) click to toggle source
Calls superclass method
# File lib/active_support/encrypted_configuration.rb, line 26
def write(contents)
  deserialize(contents)

  super
end

Private Instance Methods

deep_transform(hash) click to toggle source
# File lib/active_support/encrypted_configuration.rb, line 37
def deep_transform(hash)
  return hash unless hash.is_a?(Hash)

  h = ActiveSupport::InheritableOptions.new
  hash.each do |k, v|
    h[k] = deep_transform(v)
  end
  h
end
deserialize(config) click to toggle source
# File lib/active_support/encrypted_configuration.rb, line 51
def deserialize(config)
  doc = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(config) : YAML.load(config)
  doc.presence || {}
end
options() click to toggle source
# File lib/active_support/encrypted_configuration.rb, line 47
def options
  @options ||= ActiveSupport::InheritableOptions.new(deep_transform(config))
end