class BeeiqAPI::Contact

Attributes

addresses[RW]
company_contact[RW]
contact_type[RW]
cus_fields[RW]
date_of_birth[RW]
emails[RW]
gender[RW]
im[RW]
lastname[RW]
name[RW]
passport[RW]
phones[RW]
tag[RW]
title[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/beeiq_api/contact.rb, line 18
def initialize(options = {})
  @contact_type = options[:contact_type] || Config::ContactType::CUSTOMER
  @name = options[:name]
  @lastname = options[:lastname]
  @title = options[:title]
  @passport = options[:passport]
  @gender = options[:gender]
  @date_of_birth = options[:date_of_birth]
  @emails = options[:emails]
  @phones = options[:phones]
  @addresses = options[:addresses]
  @im = options[:im]
  @tag = options[:tag]
  @cus_fields = options[:cus_fields]
  @company_contact = options[:company_contact]

  raise ArgumentError, 'name is required' if @name.to_s.empty?
end

Public Instance Methods

payload() click to toggle source
# File lib/beeiq_api/contact.rb, line 56
def payload
  payload_raw.delete_if { |k, v| v.nil? || (!v.kind_of?(Integer) && v.empty?)  }
end
payload_raw() click to toggle source
# File lib/beeiq_api/contact.rb, line 37
def payload_raw
  {
    contactType: @contact_type,
    name: @name,
    lastname: @lastname,
    title: @title,
    passport: @passport,
    gender: @gender,
    dateOfBirth: @date_of_birth,
    emails: @emails,
    phones: @phones,
    addresses: @addresses,
    im: @im,
    tag: @tag,
    cusFields: @cus_fields,
    companyContact: @company_contact
  }
end