class Salesforce::Lead

Constants

CREATE_PATH

Attributes

company[RW]
credentials[RW]
email[RW]
errors[RW]
job_title[RW]
last_name[RW]
phone[RW]
response[RW]
website[RW]

Public Class Methods

new(attributes, credentials) click to toggle source
# File lib/salesforce/lead.rb, line 15
def initialize(attributes, credentials)
  @last_name = attributes[:last_name]
  @email = attributes[:email]
  @company = attributes[:company]
  @job_title = attributes[:job_title]
  @phone = attributes[:phone]
  @website = attributes[:website]
  @credentials = credentials
end

Public Instance Methods

auth_header() click to toggle source
# File lib/salesforce/lead.rb, line 46
def auth_header
  { 'Authorization' => "Bearer #{ @credentials[:token] }" }
end
create() click to toggle source
# File lib/salesforce/lead.rb, line 25
def create
  @response = self.class.post(create_url, headers: auth_header, body: to_json)
  success? ? true : parse_errors
end
create_url() click to toggle source
# File lib/salesforce/lead.rb, line 42
def create_url
  "#{ @credentials[:instance_url] }/#{ CREATE_PATH }"
end
parse_errors() click to toggle source
# File lib/salesforce/lead.rb, line 34
def parse_errors
  @errors = @response.parsed_response.map do |error|
    { message: error['message'], code: error['errorCode'] }
  end

  return false
end
success?() click to toggle source
# File lib/salesforce/lead.rb, line 30
def success?
  @response.code >= 200 && @response.code < 400
end
to_json() click to toggle source
# File lib/salesforce/lead.rb, line 50
def to_json
  {
    'LastName' => last_name,
    'Email' => email,
    'Company' => company,
    'Title' => job_title,
    'Phone' => phone,
    'Website' => website
  }.to_json
end