Module: AttrEncrypted::InstanceMethods
- Defined in:
- lib/attr_encrypted.rb
Instance Method Summary collapse
-
#decrypt(attribute, encrypted_value) ⇒ Object
Decrypts a value for the attribute specified using options evaluated in the current object’s scope.
-
#encrypt(attribute, value) ⇒ Object
Encrypts a value for the attribute specified using options evaluated in the current object’s scope.
-
#encrypted_attributes ⇒ Object
Copies the class level hash of encrypted attributes with virtual attribute names as keys and their corresponding options as values to the instance.
Instance Method Details
#decrypt(attribute, encrypted_value) ⇒ Object
Decrypts a value for the attribute specified using options evaluated in the current object’s scope
Example
class User
attr_accessor :secret_key
attr_encrypted :email, key: :secret_key
def initialize(secret_key)
self.secret_key = secret_key
end
end
@user = User.new('some-secret-key')
@user.decrypt(:email, 'SOME_ENCRYPTED_EMAIL_STRING')
326 327 328 329 330 |
# File 'lib/attr_encrypted.rb', line 326 def decrypt(attribute, encrypted_value) encrypted_attributes[attribute.to_sym][:operation] = :decrypting encrypted_attributes[attribute.to_sym][:value_present] = self.class.not_empty?(encrypted_value) self.class.decrypt(attribute, encrypted_value, (attribute)) end |
#encrypt(attribute, value) ⇒ Object
Encrypts a value for the attribute specified using options evaluated in the current object’s scope
Example
class User
attr_accessor :secret_key
attr_encrypted :email, key: :secret_key
def initialize(secret_key)
self.secret_key = secret_key
end
end
@user = User.new('some-secret-key')
@user.encrypt(:email, '[email protected]')
347 348 349 350 351 |
# File 'lib/attr_encrypted.rb', line 347 def encrypt(attribute, value) encrypted_attributes[attribute.to_sym][:operation] = :encrypting encrypted_attributes[attribute.to_sym][:value_present] = self.class.not_empty?(value) self.class.encrypt(attribute, value, (attribute)) end |
#encrypted_attributes ⇒ Object
Copies the class level hash of encrypted attributes with virtual attribute names as keys and their corresponding options as values to the instance
356 357 358 |
# File 'lib/attr_encrypted.rb', line 356 def encrypted_attributes @encrypted_attributes ||= self.class.encrypted_attributes.dup end |