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