Module: CustomFields::Types::Email::Target::ClassMethods
- Defined in:
- lib/custom_fields/types/email.rb
Instance Method Summary collapse
-
#apply_email_custom_field(klass, rule) ⇒ Object
Add a string field.
-
#email_attribute_get(instance, name) ⇒ Hash
Build a hash storing the raw value for a string custom field of an instance.
-
#email_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_email_custom_field(klass, rule) ⇒ Object
Add a string field
17 18 19 20 21 22 23 24 25 |
# File 'lib/custom_fields/types/email.rb', line 17 def apply_email_custom_field(klass, rule) name = rule['name'] klass.field name, type: ::String, localize: rule['localized'] || false, default: rule['default'] klass.validates_presence_of name if rule['required'] klass.validates_format_of name, with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, allow_blank: !rule['required'] klass.validates_uniqueness_of rule['name'], scope: :_type if rule['unique'] end |
#email_attribute_get(instance, name) ⇒ Hash
Build a hash storing the raw value for a string custom field of an instance.
35 36 37 |
# File 'lib/custom_fields/types/email.rb', line 35 def email_attribute_get(instance, name) default_attribute_get(instance, name) end |
#email_attribute_set(instance, name, attributes) ⇒ Object
Set the value for the instance and the string field specified by the 2 params.
46 47 48 |
# File 'lib/custom_fields/types/email.rb', line 46 def email_attribute_set(instance, name, attributes) default_attribute_set(instance, name, attributes) end |