Document EncryptedConfiguration access methods [ci-skip]

This commit is contained in:
Jonathan Hefner 2023-01-02 15:57:27 -06:00
parent 17e29786b5
commit f46ce95c77
1 changed files with 22 additions and 0 deletions

View File

@ -7,6 +7,28 @@ require "active_support/core_ext/object/inclusion"
require "active_support/core_ext/module/delegation"
module ActiveSupport
# 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
#
class EncryptedConfiguration < EncryptedFile
class InvalidContentError < RuntimeError
def initialize(content_path)