module Salesforce::Connection::RestApi::ClassMethods
Public Instance Methods
create(object_name, fields)
click to toggle source
# File lib/salesforce/connection/rest_api.rb, line 36 def create(object_name, fields) result = post("sobjects/#{object_name}.json", fields.to_json, :format => :json) if result["success"] return result["id"] else raise RecordInvalid.new(object_name, result["errors"]) end end
destroy(object_name, object_id)
click to toggle source
# File lib/salesforce/connection/rest_api.rb, line 45 def destroy(object_name, object_id) delete("sobjects/#{object_name}/#{object_id}") end
fields(object_name)
click to toggle source
# File lib/salesforce/connection/rest_api.rb, line 11 def fields(object_name) raise ObjectNotSupported.new(object_name) unless supported_objects.include?(object_name) get("sobjects/#{object_name}/describe.json", :format => :json)["fields"] end
find_object_by_id(object_name, object_id, fields)
click to toggle source
# File lib/salesforce/connection/rest_api.rb, line 16 def find_object_by_id(object_name, object_id, fields) get("sobjects/#{object_name}/#{object_id}.json?fields=#{URI.encode(fields)}", :format => :json) end
soql(query_string)
click to toggle source
# File lib/salesforce/connection/rest_api.rb, line 20 def soql(query_string) records = [] response = get "query.json?q=#{CGI.escape(query_string)}", :format => :json records += response["records"].each { |r| r.delete("attributes")} while(!response["done"]) response = get((response["nextRecordsUrl"] + '.json'), :format => :json) records += response["records"].each { |r| r.delete("attributes")} end records end
supported_objects()
click to toggle source
# File lib/salesforce/connection/rest_api.rb, line 7 def supported_objects get("sobjects.json", :format => :json)["sobjects"].map { |hash| hash["name"] } end
update(object_name, object_id, fields)
click to toggle source
# File lib/salesforce/connection/rest_api.rb, line 31 def update(object_name, object_id, fields) response = patch("sobjects/#{object_name}/#{object_id}.json", fields.to_json, :format => :json) response.code == 204 end