class EncryptedField::Encoder
EncryptedField::Encoder
prepends the policy name to the encrypted string
Attributes
encoder[W]
Public Class Methods
encoder()
click to toggle source
# File lib/encrypted-field/encoder.rb, line 9 def encoder @encoder ||= Encoder.new end
Public Instance Methods
decrypt(encrypted_str_with_policy_name, fallback_policy_name = nil)
click to toggle source
# File lib/encrypted-field/encoder.rb, line 24 def decrypt(encrypted_str_with_policy_name, fallback_policy_name = nil) policy_name, encrypted_str = encrypted_str_with_policy_name.split(policy_separator, 2) policy_name = if policy?(policy_name) || fallback_policy_name.nil? policy_name else encrypted_str = encrypted_str_with_policy_name fallback_policy_name end get_policy(policy_name).decrypt(encrypted_str) end
encrypt(str, policy_name)
click to toggle source
# File lib/encrypted-field/encoder.rb, line 14 def encrypt(str, policy_name) policy = get_policy(policy_name) if policy.prefix_with_policy_name? policy_name.dup << policy_separator << policy.encrypt(str) else policy.encrypt(str) end end
Private Instance Methods
config()
click to toggle source
# File lib/encrypted-field/encoder.rb, line 39 def config Config.instance end
get_policy(policy_name)
click to toggle source
# File lib/encrypted-field/encoder.rb, line 47 def get_policy(policy_name) config.policies[policy_name] || raise("missing policy #{policy_name}") end
policy?(policy_name)
click to toggle source
# File lib/encrypted-field/encoder.rb, line 51 def policy?(policy_name) config.policies.key?(policy_name) end
policy_separator()
click to toggle source
# File lib/encrypted-field/encoder.rb, line 43 def policy_separator config.policy_separator_or_default end