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')
315 316 317 318 |
# File 'lib/attr_encrypted.rb', line 315 def decrypt(attribute, encrypted_value) encrypted_attributes[attribute.to_sym][:operation] = :decrypting 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]')
335 336 337 338 |
# File 'lib/attr_encrypted.rb', line 335 def encrypt(attribute, value) encrypted_attributes[attribute.to_sym][:operation] = :encrypting 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
343 344 345 |
# File 'lib/attr_encrypted.rb', line 343 def encrypted_attributes @encrypted_attributes ||= self.class.encrypted_attributes.dup end |