Class: Yamori::Rest::Client
- Inherits:
-
Object
- Object
- Yamori::Rest::Client
- Defined in:
- lib/yamori/rest/client.rb
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#api_version ⇒ Object
readonly
Returns the value of attribute api_version.
-
#instance_url ⇒ Object
readonly
Returns the value of attribute instance_url.
Instance Method Summary collapse
- #create(object_type, values) ⇒ Object
- #delete(object_type, id) ⇒ Object
- #describe(object_type) ⇒ Object
- #find(object_type, id, fields: []) ⇒ Object
-
#initialize(instance_url:, access_token:, api_version:) ⇒ Client
constructor
A new instance of Client.
- #query(soql) ⇒ Object
- #update(object_type, id, values) ⇒ Object
Constructor Details
#initialize(instance_url:, access_token:, api_version:) ⇒ Client
Returns a new instance of Client.
15 16 17 18 19 20 |
# File 'lib/yamori/rest/client.rb', line 15 def initialize(instance_url:, access_token:, api_version:) @instance_url = instance_url @access_token = access_token @api_version = api_version @http = Http.new(instance_url, access_token) end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
13 14 15 |
# File 'lib/yamori/rest/client.rb', line 13 def access_token @access_token end |
#api_version ⇒ Object (readonly)
Returns the value of attribute api_version.
13 14 15 |
# File 'lib/yamori/rest/client.rb', line 13 def api_version @api_version end |
#instance_url ⇒ Object (readonly)
Returns the value of attribute instance_url.
13 14 15 |
# File 'lib/yamori/rest/client.rb', line 13 def instance_url @instance_url end |
Instance Method Details
#create(object_type, values) ⇒ Object
38 39 40 41 |
# File 'lib/yamori/rest/client.rb', line 38 def create(object_type, values) response = http.post "/services/data/v#{api_version}/sobjects/#{object_type}/", values JSON.parse(response)['id'] end |
#delete(object_type, id) ⇒ Object
48 49 50 51 |
# File 'lib/yamori/rest/client.rb', line 48 def delete(object_type, id) http.delete "/services/data/v#{api_version}/sobjects/#{object_type}/#{id}/" id end |
#describe(object_type) ⇒ Object
27 28 29 30 |
# File 'lib/yamori/rest/client.rb', line 27 def describe(object_type) response = http.get "/services/data/v#{api_version}/sobjects/#{object_type.to_sym}/describe" JSON.parse(response) end |
#find(object_type, id, fields: []) ⇒ Object
32 33 34 35 36 |
# File 'lib/yamori/rest/client.rb', line 32 def find(object_type, id, fields: []) query = fields.empty? ? '' : %|?fields=#{fields.map(&:to_s).join(',')}| response = http.get "/services/data/v#{api_version}/sobjects/#{object_type}/#{id}#{query}" JSON.parse(response) end |
#query(soql) ⇒ Object
22 23 24 25 |
# File 'lib/yamori/rest/client.rb', line 22 def query(soql) response = http.get "/services/data/v#{api_version}/query?q=#{CGI.escape(soql)}" QueryResult.new(response) end |
#update(object_type, id, values) ⇒ Object
43 44 45 46 |
# File 'lib/yamori/rest/client.rb', line 43 def update(object_type, id, values) http.patch "/services/data/v#{api_version}/sobjects/#{object_type}/#{id}/", values id end |