Module: CustomFields::Types::Password::Target::ClassMethods
- Defined in:
- lib/custom_fields/types/password.rb
Instance Method Summary collapse
-
#apply_password_custom_field(klass, rule) ⇒ Object
Add a password field.
-
#password_attribute_get(_instance, _name) ⇒ Hash
Build a hash storing the raw value for a string custom field of an instance.
-
#password_attribute_set(instance, name, attributes) ⇒ Object
Set the value for the instance and the string field specified by the 2 params.
Instance Method Details
#apply_password_custom_field(klass, rule) ⇒ Object
Add a password field
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/custom_fields/types/password.rb', line 19 def apply_password_custom_field(klass, rule) label = rule['label'] name = rule['name'] klass.field :"#{name}_hash" klass.send(:define_method, name.to_sym) { '' } klass.send(:define_method, :"#{name}=") { |value| _encrypt_password(name, value) } klass.send(:define_method, :"#{name}_confirmation") { '' } klass.send(:define_method, :"#{name}_confirmation=") { |value| _set_confirmation_password(name, value) } klass.validate { _check_password(label, name) } end |
#password_attribute_get(_instance, _name) ⇒ Hash
Build a hash storing the raw value for a string custom field of an instance.
41 42 43 |
# File 'lib/custom_fields/types/password.rb', line 41 def password_attribute_get(_instance, _name) {} end |
#password_attribute_set(instance, name, attributes) ⇒ Object
Set the value for the instance and the string field specified by the 2 params.
52 53 54 |
# File 'lib/custom_fields/types/password.rb', line 52 def password_attribute_set(instance, name, attributes) instance._encrypt_password(name, attributes[name]) end |