加密組態
在 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:) 連結
來源:顯示 | 在 GitHub 上
# 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() 連結
傳回解密後的內容,為 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 } }
來源:顯示 | 在 GitHub 上
# File activesupport/lib/active_support/encrypted_configuration.rb, line 75 def config @config ||= deserialize(read).deep_symbolize_keys end
read() 連結
讀取檔案並傳回解密後的內容。請參閱 EncryptedFile#read
。
來源:顯示 | 在 GitHub 上
# 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