class ActiveSupport::EncryptedConfiguration

def config

def config
  @config ||= deserialize(read).deep_symbolize_keys
end

def deserialize(config)

def deserialize(config)
  YAML.load(config).presence || {}
end

def initialize(config_path:, key_path:, env_key:, raise_if_missing_key:)

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

def options

def options
  @options ||= ActiveSupport::InheritableOptions.new(config)
end

def read

Allow a config to be started without a file present
def read
  super
rescue ActiveSupport::EncryptedFile::MissingContentError
  ""
end

def write(contents)

def write(contents)
  deserialize(contents)
  super
end