Class: EncryptedField::Encoder
- Inherits:
-
Object
- Object
- EncryptedField::Encoder
- Defined in:
- lib/encrypted-field/encoder.rb
Overview
EncryptedField::Encoder prepends the policy name to the encrypted string
Class Attribute Summary collapse
Instance Method Summary collapse
- #decrypt(encrypted_str_with_policy_name, fallback_policy_name = nil) ⇒ Object
- #encrypt(str, policy_name) ⇒ Object
Class Attribute Details
.encoder ⇒ Object
9 10 11 |
# File 'lib/encrypted-field/encoder.rb', line 9 def encoder @encoder ||= Encoder.new end |
Instance Method Details
#decrypt(encrypted_str_with_policy_name, fallback_policy_name = nil) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# 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) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# 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 |