加密配置¶ ↑
在 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
命名空间
- 类 ActiveSupport::EncryptedConfiguration::InvalidContentError
- 类 ActiveSupport::EncryptedConfiguration::InvalidKeyError
方法
类公共方法
new(config_path:, key_path:, env_key:, raise_if_missing_key:) 链接
来源: 显示 | 在 GitHub 上
# 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
实例公共方法
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 85 def config @config ||= deep_symbolize_keys(deserialize(read)) end
read() 链接
读取文件并返回解密后的内容。参见 EncryptedFile#read。
来源: 显示 | 在 GitHub 上
# 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