class SfIntegrator::Lead

Attributes

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

Public Class Methods

all() click to toggle source
# File lib/sf_integrator/lead.rb, line 29
def self.all
  records = client.query('select FirstName, LastName, Email, Company, Title, Phone, Website from Lead')
  records.map do |record|
    attributes = {
      first_name: record.FirstName, last_name: record.LastName, email: record.Email,
      company: record.Company, job_title: record.Title, phone: record.Phone, website: record.Website
    }
    Lead.new(attributes)
  end
end
new(args) click to toggle source
# File lib/sf_integrator/lead.rb, line 11
def initialize(args)
  @first_name = args[:first_name]
  @last_name  = args[:last_name]
  @email      = args[:email]
  @company    = args[:company]
  @job_title  = args[:job_title]
  @phone      = args[:phone]
  @website    = args[:website]
end

Private Class Methods

client() click to toggle source
# File lib/sf_integrator/lead.rb, line 42
def self.client
  @client ||= Restforce.new(SfIntegrator::Integrator.configs.to_hash)
end

Public Instance Methods

create() click to toggle source
# File lib/sf_integrator/lead.rb, line 21
def create
  params = {
    FirstName: first_name, LastName: last_name, Email: email,
    Company: company, Title: job_title, Phone: phone, Website: website
  }
  self.class.client.create('Lead', params)
end