def salesforce_process_update(attributes = {})
      attributes_to_update = salesforce_attributes_to_set(self.new_record? ? attributes : salesforce_empty_attributes.merge(attributes)) # only merge empty attributes for updates, so we don't overwrite the default create attributes
      attributes_to_update.each_pair do |k, v|
        self.send("#{k}=", v)
      end

      # we don't want to keep going in a endless loop.  SF has just updated these values.
      self.salesforce_skip_sync = true
      self.save!
    end
def salesforce_process_update(attributes = {})
      attributes_to_update = salesforce_attributes_to_set(self.new_record? ? attributes : salesforce_empty_attributes.merge(attributes)) # only merge empty attributes for updates, so we don't overwrite the default create attributes
      attributes_to_update.each_pair do |k, v|
        self.send("#{k}=", v)
      end

      # we don't want to keep going in a endless loop.  SF has just updated these values.
      self.salesforce_skip_sync = true
      self.save!
    end
Gets passed the Salesforce outbound message hash of changed values and updates the corresponding model