class EncryptedField::Config

EncryptedField::Config keeps track of all policies and the policy separator

Constants

POLICY_DEFAULT_SEPARATOR

Attributes

policy_separator[R]

Public Class Methods

configure(&block) click to toggle source
# File lib/encrypted-field/config.rb, line 39
def self.configure(&block)
  instance.instance_eval(&block)
end

Public Instance Methods

add_custom_policy(policy_name, policy) click to toggle source
# File lib/encrypted-field/config.rb, line 34
def add_custom_policy(policy_name, policy)
  valid_policy_name!(policy_name)
  policies[policy_name.to_s] = policy
end
add_policy(policy_name, algorithm, secret_key, options = {}) click to toggle source
# File lib/encrypted-field/config.rb, line 26
def add_policy(policy_name, algorithm, secret_key, options = {})
  add_custom_policy(policy_name, PolicyWithIV.new(algorithm, secret_key, options))
end
add_policy_without_iv(policy_name, algorithm, secret_key, options = {}) click to toggle source
# File lib/encrypted-field/config.rb, line 30
def add_policy_without_iv(policy_name, algorithm, secret_key, options = {})
  add_custom_policy(policy_name, PolicyWithoutIV.new(algorithm, secret_key, options))
end
policies() click to toggle source
# File lib/encrypted-field/config.rb, line 14
def policies
  @policies ||= {}
end
policy_separator_or_default() click to toggle source
# File lib/encrypted-field/config.rb, line 22
def policy_separator_or_default
  policy_separator || POLICY_DEFAULT_SEPARATOR
end
reset!() click to toggle source
# File lib/encrypted-field/config.rb, line 43
def reset!
  @policies = nil
  @policy_separator = nil
end
set_policy_separator(policy_separator) click to toggle source
# File lib/encrypted-field/config.rb, line 18
def set_policy_separator(policy_separator)
  @policy_separator = policy_separator
end
valid_policy_name!(policy_name) click to toggle source
# File lib/encrypted-field/config.rb, line 48
def valid_policy_name!(policy_name)
  return unless policy_name.to_s.include?(policy_separator_or_default)

  raise("policy name #{policy_name} can not include \"#{policy_separator_or_default}\"")
end