Sha256: d00c6a73bbd0f4c1ecd9fc6978ee97bd4c412ce1d8906ab52f7666a497a62d00
Contents?: true
Size: 1.83 KB
Versions: 3
Compression:
Stored size: 1.83 KB
Contents
# frozen_string_literal: true require 'chamber/configuration' require 'chamber/file_set' require 'chamber/settings' module Chamber class Instance attr_accessor :configuration, :files def initialize(**args) self.configuration = Configuration.new(**args) self.files = FileSet.new(**configuration.to_hash) end def settings @settings ||= files.to_settings { |settings| @settings = settings } end def [](key) settings.[](key) end def dig!(*args) settings.dig!(*args) end def dig(*args) settings.dig(*args) end def filenames files.filenames end def secure files.secure end def sign files.sign end def verify files.verify end def to_environment settings.to_environment end def to_s(**args) settings.to_s(**args) end def to_hash settings.to_hash end def namespaces settings.namespaces end def encrypt(data, **args) config = configuration.to_hash.merge(**args) Settings .new( **config.merge( settings: data, pre_filters: [Filters::EncryptionFilter], post_filters: [], ), ) .to_hash end def decrypt(data, **args) config = configuration.to_hash.merge(**args) Settings .new( **config.merge( settings: data, pre_filters: [Filters::NamespaceFilter], post_filters: [ Filters::DecryptionFilter, Filters::FailedDecryptionFilter, ], ), ) .to_hash end def method_missing(name, *args) return settings.public_send(name, *args) if settings.respond_to?(name) super end def respond_to_missing?(name, include_private = false) settings.respond_to?(name, include_private) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
chamber-2.14.3 | lib/chamber/instance.rb |
chamber-2.14.2 | lib/chamber/instance.rb |
chamber-2.14.1 | lib/chamber/instance.rb |