Class: Quickeebooks::Online::Service::Item
- Inherits:
-
ServiceBase
- Object
- ServiceBase
- Quickeebooks::Online::Service::Item
- Defined in:
- lib/quickeebooks/online/service/item.rb
Constant Summary
Constants inherited from ServiceBase
ServiceBase::QB_BASE_URI, ServiceBase::XML_NS
Instance Attribute Summary
Attributes inherited from ServiceBase
Instance Method Summary collapse
- #create(item) ⇒ Object
- #delete(item) ⇒ Object
- #fetch_by_id(id) ⇒ Object
- #list(filters = [], page = 1, per_page = 20, sort = nil, options = {}) ⇒ Object
- #update(item) ⇒ Object
Methods inherited from ServiceBase
#access_token=, #base_url=, #initialize, #login_name, #url_for_base, #url_for_resource
Constructor Details
This class inherits a constructor from Quickeebooks::Online::Service::ServiceBase
Instance Method Details
#create(item) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/quickeebooks/online/service/item.rb', line 13 def create(item) raise InvalidModelException unless item.valid? xml = item.to_xml_ns response = do_http_post(url_for_resource(Quickeebooks::Online::Model::Item.resource_for_singular), valid_xml_document(xml)) if response && response.code.to_i == 200 Quickeebooks::Online::Model::Item.from_xml(response.body) else nil end end |
#delete(item) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/quickeebooks/online/service/item.rb', line 41 def delete(item) raise InvalidModelException.new("Missing required parameters for delete") unless item.valid_for_deletion? xml = valid_xml_document(item.to_xml_ns(:fields => ['Id', 'SyncToken'])) url = "#{url_for_resource(Quickeebooks::Online::Model::Item.resource_for_singular)}/#{item.id}" response = do_http_post(url, xml, {:methodx => "delete"}) response.code.to_i == 200 end |
#fetch_by_id(id) ⇒ Object
36 37 38 39 |
# File 'lib/quickeebooks/online/service/item.rb', line 36 def fetch_by_id(id) response = do_http_get("#{url_for_resource(Quickeebooks::Online::Model::Item.resource_for_singular)}/#{id}") Quickeebooks::Online::Model::Item.from_xml(response.body) end |
#list(filters = [], page = 1, per_page = 20, sort = nil, options = {}) ⇒ Object
9 10 11 |
# File 'lib/quickeebooks/online/service/item.rb', line 9 def list(filters = [], page = 1, per_page = 20, sort = nil, = {}) fetch_collection(Quickeebooks::Online::Model::Item, filters, page, per_page, sort, ) end |
#update(item) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/quickeebooks/online/service/item.rb', line 24 def update(item) raise InvalidModelException unless item.valid? xml = item.to_xml_ns url = "#{url_for_resource(Quickeebooks::Online::Model::Item.resource_for_singular)}/#{item.id}" response = do_http_post(url, valid_xml_document(xml)) if response && response.code.to_i == 200 Quickeebooks::Online::Model::Item.from_xml(response.body) else nil end end |