class Rd::Salesforce::Person

Basic structure to handle a contact. It stores and validates basic person info and upload_to_salesforce!

Attributes

company[RW]
email[RW]
first_name[RW]
job_title[RW]
last_name[RW]
phone[RW]
salesforce_id[RW]
website[RW]

Public Instance Methods

translate_attributes() click to toggle source

Translates person fields to salesforce Lead attributes. see more about Lead object at: www.salesforce.com/developer/docs/api/Content/sforce_api_objects_lead.htm

# File lib/rd/salesforce/person.rb, line 61
def translate_attributes
  info = {}
  translate.each do |attribute_name, label|
    info[label] = send(attribute_name)
  end
  info
end
upload_to_salesforce!(client) click to toggle source

Uploads current person to salesforce.

Raises ArgumentError if the client is nil or client is invalid Raises StandardError if the current instance is invalid

# File lib/rd/salesforce/person.rb, line 49
def upload_to_salesforce!(client)
  raise ArgumentError.new("client is nil") if not client
  raise ArgumentError.new("client is invalid: #{client.inspect}") if not client.valid?
  raise ArgumentError.new("client does not respond to :save_lead method. client: #{client.inspect}") if not client.respond_to? :save_lead

  client.save_lead self
end