class ActiveSupport::EncryptedConfiguration
def config
def config @config ||= deserialize(read).deep_symbolize_keys end
def deep_transform(hash)
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
def deserialize(config)
def deserialize(config) doc = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(config) : YAML.load(config) doc.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(deep_transform(config)) end
def read
def read super rescue ActiveSupport::EncryptedFile::MissingContentError "" end
def write(contents)
def write(contents) deserialize(contents) super end