class ActiveSupport::EncryptedConfiguration
Encrypted Configuration
Provides convenience methods on top of EncryptedFile to access values stored as encrypted YAML.
Values can be accessed via Hash methods, such as fetch and dig, or via dynamic accessor methods, similar to OrderedOptions.
my_config = ActiveSupport::EncryptedConfiguration.new(...) my_config.read # => "some_secret: 123\nsome_namespace:\n another_secret: 456" my_config[:some_secret] # => 123 my_config.some_secret # => 123 my_config.dig(:some_namespace, :another_secret) # => 456 my_config.some_namespace.another_secret # => 456 my_config.fetch(:foo) # => KeyError my_config.foo! # => KeyError
Public Class Methods
# File activesupport/lib/active_support/encrypted_configuration.rb, line 54
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
@config = nil
@options = nil
end Calls superclass method
Public Instance Methods
# File activesupport/lib/active_support/encrypted_configuration.rb, line 85 def config @config ||= deep_symbolize_keys(deserialize(read)) end
Returns the decrypted content as a Hash with symbolized keys.
my_config = ActiveSupport::EncryptedConfiguration.new(...)
my_config.read # => "some_secret: 123\nsome_namespace:\n another_secret: 456"
my_config.config
# => { some_secret: 123, some_namespace: { another_secret: 789 } } # File activesupport/lib/active_support/encrypted_configuration.rb, line 62 def read super rescue ActiveSupport::EncryptedFile::MissingContentError # Allow a config to be started without a file present "" end
Reads the file and returns the decrypted content. See EncryptedFile#read.
Calls superclass method
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.