Class: EncryptedField::Field
- Inherits:
-
Object
- Object
- EncryptedField::Field
- Defined in:
- lib/encrypted-field/field.rb
Overview
EncryptedField::Field adds the plain text methods to the class. Useful for hard coding the policy_name to the field during class creation.
Instance Attribute Summary collapse
-
#encrypted_field_name ⇒ Object
readonly
Returns the value of attribute encrypted_field_name.
-
#fallback_policy_name ⇒ Object
readonly
Returns the value of attribute fallback_policy_name.
-
#field_name ⇒ Object
readonly
Returns the value of attribute field_name.
-
#policy_name ⇒ Object
readonly
Returns the value of attribute policy_name.
Instance Method Summary collapse
- #add_methods(klass) ⇒ Object
-
#initialize(field_name, encrypted_field_name, policy_name, fallback_policy_name = nil) ⇒ Field
constructor
A new instance of Field.
Constructor Details
#initialize(field_name, encrypted_field_name, policy_name, fallback_policy_name = nil) ⇒ Field
Returns a new instance of Field.
12 13 14 15 16 17 |
# File 'lib/encrypted-field/field.rb', line 12 def initialize(field_name, encrypted_field_name, policy_name, fallback_policy_name = nil) @field_name = field_name @encrypted_field_name = encrypted_field_name @policy_name = policy_name.to_s @fallback_policy_name = fallback_policy_name && fallback_policy_name.to_s end |
Instance Attribute Details
#encrypted_field_name ⇒ Object (readonly)
Returns the value of attribute encrypted_field_name.
7 8 9 |
# File 'lib/encrypted-field/field.rb', line 7 def encrypted_field_name @encrypted_field_name end |
#fallback_policy_name ⇒ Object (readonly)
Returns the value of attribute fallback_policy_name.
7 8 9 |
# File 'lib/encrypted-field/field.rb', line 7 def fallback_policy_name @fallback_policy_name end |
#field_name ⇒ Object (readonly)
Returns the value of attribute field_name.
7 8 9 |
# File 'lib/encrypted-field/field.rb', line 7 def field_name @field_name end |
#policy_name ⇒ Object (readonly)
Returns the value of attribute policy_name.
7 8 9 |
# File 'lib/encrypted-field/field.rb', line 7 def policy_name @policy_name end |
Instance Method Details
#add_methods(klass) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/encrypted-field/field.rb', line 19 def add_methods(klass) klass.class_eval "def \#{field_name}\n \#{encrypted_field_name} && ::EncryptedField::Encoder.encoder.decrypt(\#{encrypted_field_name}, \#{fallback_policy_name.inspect})\nend\n\ndef \#{field_name}=(v)\n self.\#{encrypted_field_name} = v && ::EncryptedField::Encoder.encoder.encrypt(v, \#{policy_name.inspect})\nend\n", __FILE__, __LINE__ + 1 end |