Spec-Zone.ru › Ruby on Rails 7.2

класс ActiveSupport::EncryptedConfiguration

Родитель:
EncryptedFile

Зашифрованная конфигурация

Предоставляет удобные методы для работы с EncryptedFile для доступа к значениям, хранящимся в виде зашифрованного YAML.

Значения можно получить через методы Hash , такие как fetch и dig, или через динамические методы доступа, аналогичные 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

Публичные методы класса

new(config_path:, key_path:, env_key:, raise_if_missing_key:) Показать исходный код
# File activesupport/lib/active_support/encrypted_configuration.rb, line 48
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
Вызывает метод суперкласса

Публичные методы экземпляра

config() Показать исходный код
# File activesupport/lib/active_support/encrypted_configuration.rb, line 75
def config
  @config ||= deserialize(read).deep_symbolize_keys
end

Возвращает расшифрованное содержимое в виде Hash с символьными ключами.

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 } }
read() Показать исходный код
# File activesupport/lib/active_support/encrypted_configuration.rb, line 56
def read
  super
rescue ActiveSupport::EncryptedFile::MissingContentError
  # Allow a config to be started without a file present
  ""
end

Читает файл и возвращает расшифрованное содержимое. См. EncryptedFile#read.

Вызывает метод суперкласса

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API