class Rd::Salesforce::Client

Constants

VALID_PARAMS

Public Class Methods

new(params) click to toggle source
# File lib/rd/salesforce/client.rb, line 7
def initialize params
  raise ArgumentError.new("Invalid Params: #{params.inspect} not in #{VALID_PARAMS.inspect}") if not valid_params? params
  @api = Restforce.new(params)
end

Public Instance Methods

save_lead(person) click to toggle source
# File lib/rd/salesforce/client.rb, line 12
def save_lead(person)
  if not person.valid?
    raise ArgumentError.new("can't upload an invalid record to sales force. person is invalid: #{person.inspect}\n   #{person.errors.inspect}") 
  end
  if person.salesforce_id
    @api.update!("Lead", person.translate_attributes.merge(Id: person.salesforce_id))
  else
    person.salesforce_id = @api.create!("Lead", person.translate_attributes)
  end
end
valid?() click to toggle source
# File lib/rd/salesforce/client.rb, line 23
def valid?
  not @api.nil?
end

Private Instance Methods

valid_params?(params) click to toggle source
# File lib/rd/salesforce/client.rb, line 29
def valid_params? params
  return false if not params or not params.is_a? Hash
  params.each do |key,value|
    return false if not VALID_PARAMS.include?(key)
  end
  true
end