Class: EmailAttribute::List

Inherits:
Object
  • Object
show all
Defined in:
lib/email_attribute/list.rb

Overview

serializeable model that wraps Mail::AddressList

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(email_addresses) ⇒ List

Returns a new instance of List.



7
8
9
10
11
12
13
14
# File 'lib/email_attribute/list.rb', line 7

def initialize(email_addresses)
  email_addresses = email_addresses.join(", ") if email_addresses.respond_to?(:join)
  @addresses = begin
    Mail::AddressList.new(email_addresses).addresses.map(&:format)
  rescue
    manual_parse(email_addresses)
  end
end

Instance Attribute Details

#addressesObject (readonly)

Returns the value of attribute addresses.



4
5
6
# File 'lib/email_attribute/list.rb', line 4

def addresses
  @addresses
end

Class Method Details

.dump(email_address) ⇒ Object



37
38
39
40
41
# File 'lib/email_attribute/list.rb', line 37

def dump(email_address)
  return nil if email_address.blank?

  email_address.to_s
end

.load(email_address) ⇒ Object



43
44
45
# File 'lib/email_attribute/list.rb', line 43

def load(email_address)
  new(email_address)
end

Instance Method Details

#blank?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/email_attribute/list.rb', line 28

def blank?
  !present?
end

#inspectObject



16
17
18
# File 'lib/email_attribute/list.rb', line 16

def inspect
  to_s
end

#present?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/email_attribute/list.rb', line 24

def present?
  length > 0
end

#stripObject



32
33
34
# File 'lib/email_attribute/list.rb', line 32

def strip
  to_s.strip
end

#to_sObject



20
21
22
# File 'lib/email_attribute/list.rb', line 20

def to_s
  addresses.join(", ")
end