Class: EncryptedField::Config
- Inherits:
-
Object
- Object
- EncryptedField::Config
- Includes:
- Singleton
- Defined in:
- lib/encrypted-field/config.rb
Overview
EncryptedField::Config keeps track of all policies and the policy separator
Constant Summary collapse
- POLICY_DEFAULT_SEPARATOR =
'.'
Instance Attribute Summary collapse
-
#policy_separator ⇒ Object
readonly
Returns the value of attribute policy_separator.
Class Method Summary collapse
Instance Method Summary collapse
- #add_custom_policy(policy_name, policy) ⇒ Object
- #add_policy(policy_name, algorithm, secret_key, options = {}) ⇒ Object
- #add_policy_without_iv(policy_name, algorithm, secret_key, options = {}) ⇒ Object
- #policies ⇒ Object
- #policy_separator_or_default ⇒ Object
- #reset! ⇒ Object
- #set_policy_separator(policy_separator) ⇒ Object
- #valid_policy_name!(policy_name) ⇒ Object
Instance Attribute Details
#policy_separator ⇒ Object (readonly)
Returns the value of attribute policy_separator.
12 13 14 |
# File 'lib/encrypted-field/config.rb', line 12 def policy_separator @policy_separator end |
Class Method Details
.configure(&block) ⇒ Object
39 40 41 |
# File 'lib/encrypted-field/config.rb', line 39 def self.configure(&block) instance.instance_eval(&block) end |
Instance Method Details
#add_custom_policy(policy_name, policy) ⇒ Object
34 35 36 37 |
# 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 = {}) ⇒ Object
26 27 28 |
# File 'lib/encrypted-field/config.rb', line 26 def add_policy(policy_name, algorithm, secret_key, = {}) add_custom_policy(policy_name, PolicyWithIV.new(algorithm, secret_key, )) end |
#add_policy_without_iv(policy_name, algorithm, secret_key, options = {}) ⇒ Object
30 31 32 |
# File 'lib/encrypted-field/config.rb', line 30 def add_policy_without_iv(policy_name, algorithm, secret_key, = {}) add_custom_policy(policy_name, PolicyWithoutIV.new(algorithm, secret_key, )) end |
#policies ⇒ Object
14 15 16 |
# File 'lib/encrypted-field/config.rb', line 14 def policies @policies ||= {} end |
#policy_separator_or_default ⇒ Object
22 23 24 |
# File 'lib/encrypted-field/config.rb', line 22 def policy_separator_or_default policy_separator || POLICY_DEFAULT_SEPARATOR end |
#reset! ⇒ Object
43 44 45 46 |
# File 'lib/encrypted-field/config.rb', line 43 def reset! @policies = nil @policy_separator = nil end |
#set_policy_separator(policy_separator) ⇒ Object
18 19 20 |
# File 'lib/encrypted-field/config.rb', line 18 def set_policy_separator(policy_separator) @policy_separator = policy_separator end |
#valid_policy_name!(policy_name) ⇒ Object
48 49 50 51 52 |
# 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 |