An ActiveModel::Type::Value that encrypts/decrypts strings of text.
This is the central piece that connects the encryption system with encrypts declarations in the model classes. Whenever you declare an attribute as encrypted, it configures an EncryptedAttributeType for that attribute.
- C
- D
- N
- S
Attributes
| [R] | cast_type | |
| [R] | scheme |
Class Public methods
new(scheme:, cast_type: ActiveModel::Type::String.new, previous_type: false, default: nil) Link
Options
-
:scheme- ASchemewith the encryption properties for this attribute. -
:cast_type- A type that will be used to serialize (before encrypting) and deserialize (after decrypting).ActiveModel::Type::Stringby default.
Source: show
# File activerecord/lib/active_record/encryption/encrypted_attribute_type.rb, line 23 def initialize(scheme:, cast_type: ActiveModel::Type::String.new, previous_type: false, default: nil) super() @scheme = scheme @cast_type = cast_type @previous_type = previous_type @default = default end
Instance Public methods
cast(value) Link
Source: show
# File activerecord/lib/active_record/encryption/encrypted_attribute_type.rb, line 31 def cast(value) cast_type.cast(value) end
changed_in_place?(raw_old_value, new_value) Link
Source: show
# File activerecord/lib/active_record/encryption/encrypted_attribute_type.rb, line 47 def changed_in_place?(raw_old_value, new_value) old_value = raw_old_value.nil? ? nil : deserialize(raw_old_value) old_value != new_value end