Module: EmailAttribute::Attribute::ClassMethods

Defined in:
lib/email_attribute/attribute.rb

Instance Method Summary collapse

Instance Method Details

#email_address_attribute(*attributes) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/email_attribute/attribute.rb', line 23

def email_address_attribute(*attributes)
  options = attributes.extract_options!

  attributes.each do |attribute|
    serialize attribute, EmailAttribute::SingleAddress

    method_body, line = "      def \#{attribute}=(email_address)\n        write_attribute(:\#{attribute}, EmailAttribute::SingleAddress.new(email_address))\n      end\n    EOV\n\n    class_eval method_body, __FILE__, line\n  end\nend\n", __LINE__ + 1

#email_address_list_attribute(*attributes) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/email_attribute/attribute.rb', line 6

def email_address_list_attribute(*attributes)
  options = attributes.extract_options!

  attributes.each do |attribute|
    serialize attribute, EmailAttribute::List

    method_body, line = "      def \#{attribute}=(email_address)\n        list = EmailAttribute::List.new(email_address) rescue email_address\n        write_attribute(:\#{attribute}, list)\n      end\n    EOV\n\n    class_eval method_body, __FILE__, line\n  end\nend\n", __LINE__ + 1