class Sidekiq::Crypt::Configuration

Attributes

current_key_version[RW]
filters[RW]
key_store[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/sidekiq-crypt/configuration.rb, line 9
def initialize(options = {})
  @filters = []
  @current_key_version = options.fetch(:current_key_version, nil)
  @key_store = options.fetch(:key_store, {}).transform_keys(&:to_s)

  include_rails_filter_parameters(options[:exclude_rails_filters])
end

Public Instance Methods

current_key() click to toggle source
# File lib/sidekiq-crypt/configuration.rb, line 17
def current_key
  Base64.strict_decode64(key_store[current_key_version])
end
key_by_version(given_key) click to toggle source
# File lib/sidekiq-crypt/configuration.rb, line 21
def key_by_version(given_key)
  Base64.strict_decode64(key_store[given_key])
end
key_store=(key_store_hash) click to toggle source
# File lib/sidekiq-crypt/configuration.rb, line 25
def key_store=(key_store_hash)
  @key_store = (key_store_hash || {}).transform_keys(&:to_s)
end

Private Instance Methods

include_rails_filter_parameters(exclude_rails_filters) click to toggle source
# File lib/sidekiq-crypt/configuration.rb, line 31
def include_rails_filter_parameters(exclude_rails_filters)
  return unless defined?(::Rails)
  return if exclude_rails_filters

  @filters = ::Rails.application.config.filter_parameters
end