lib/symmetric_encryption/generator.rb in symmetric-encryption-4.1.1 vs lib/symmetric_encryption/generator.rb in symmetric-encryption-4.1.2

- old
+ new

@@ -22,21 +22,21 @@ mod.module_eval(<<~ACCESSORS, __FILE__, __LINE__ + 1) # Set the un-encrypted field # Also updates the encrypted field with the encrypted value # Freeze the decrypted field value so that it is not modified directly def #{decrypted_name}=(value) - v = SymmetricEncryption::Coerce.coerce(value, :#{type}) + v = SymmetricEncryption::Coerce.coerce(value, :#{type}).freeze return if (@#{decrypted_name} == v) && !v.nil? && !(v == '') - self.#{encrypted_name} = @stored_#{encrypted_name} = ::SymmetricEncryption.encrypt(v, random_iv: #{random_iv}, compress: #{compress}, type: :#{type}) - @#{decrypted_name} = v.freeze + self.#{encrypted_name} = @stored_#{encrypted_name} = ::SymmetricEncryption.encrypt(v, random_iv: #{random_iv}, compress: #{compress}, type: :#{type}).freeze + @#{decrypted_name} = v end # Returns the decrypted value for the encrypted field # The decrypted value is cached and is only decrypted if the encrypted value has changed # If this method is not called, then the encrypted value is never decrypted def #{decrypted_name} if !defined?(@stored_#{encrypted_name}) || (@stored_#{encrypted_name} != self.#{encrypted_name}) - @#{decrypted_name} = ::SymmetricEncryption.decrypt(self.#{encrypted_name}, type: :#{type}).freeze + @#{decrypted_name} = ::SymmetricEncryption.decrypt(self.#{encrypted_name}.freeze, type: :#{type}).freeze @stored_#{encrypted_name} = self.#{encrypted_name} end @#{decrypted_name} end