class Mailchimp::List::CHILD_CLASS

Constants

Interest

Private Class Methods

add_id_to(data) click to toggle source

Class methods

# File lib/mailchimp_api_v3/member.rb, line 8
def self.add_id_to(data)
  clean_data = data.deep_stringify_keys
  return clean_data unless clean_data.key? 'email_address'
  clean_data.merge id: clean_data['email_address'].convert_to_id
end
name_parts_from(data) click to toggle source
# File lib/mailchimp_api_v3/member.rb, line 26
def self.name_parts_from(data)
  new_name = data.delete('name')
  name_parts = new_name ? new_name.split : []

  [
    data.delete('first_name') || name_parts[0],
    data.delete('last_name') || name_parts[1]
  ]
end
parse_name_from(data) click to toggle source
# File lib/mailchimp_api_v3/member.rb, line 14
def self.parse_name_from(data)
  clean_data = data.deep_stringify_keys
  fname, lname = name_parts_from clean_data

  merge_fields = {}
  merge_fields['FNAME'] = fname if fname
  merge_fields['LNAME'] = lname if lname
  additional_data = merge_fields.empty? ? {} : { 'merge_fields' => merge_fields }

  additional_data.merge clean_data
end

Public Instance Methods

interests

Private Instance Methods

first_name() click to toggle source

Instance methods

# File lib/mailchimp_api_v3/member.rb, line 38
def first_name
  merge_fields['FNAME']
end
last_name() click to toggle source
# File lib/mailchimp_api_v3/member.rb, line 42
def last_name
  merge_fields['LNAME']
end
name() click to toggle source
# File lib/mailchimp_api_v3/member.rb, line 46
def name
  delim = first_name && last_name ? ' ' : ''
  "#{first_name}#{delim}#{last_name}"
end
to_s() click to toggle source
# File lib/mailchimp_api_v3/member.rb, line 51
def to_s
  "#{name} <#{email_address}>"
end
update(new_data) click to toggle source
Calls superclass method Mailchimp::Instance#update
# File lib/mailchimp_api_v3/member.rb, line 55
def update(new_data)
  super self.class.parse_name_from(new_data)
end