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