Class: Quickbooks::Service::BaseService
- Inherits:
-
Object
- Object
- Quickbooks::Service::BaseService
- Includes:
- ServiceCrud, Util::Logging
- Defined in:
- lib/quickbooks/service/base_service.rb
Direct Known Subclasses
AccessToken, Account, Batch, Bill, BillPayment, Class, CompanyInfo, CreditMemo, Customer, Department, Employee, Estimate, Invoice, Item, Payment, PaymentMethod, Purchase, PurchaseOrder, SalesReceipt, TaxCode, TaxRate, Term, TimeActivity, Vendor, VendorCredit
Constant Summary collapse
- XML_NS =
%{xmlns="http://schema.intuit.com/finance/v3"}- HTTP_CONTENT_TYPE =
'application/xml'- HTTP_ACCEPT =
'application/xml'- HTTP_ACCEPT_ENCODING =
'gzip, deflate'
Instance Attribute Summary collapse
-
#base_uri ⇒ Object
readonly
Returns the value of attribute base_uri.
-
#company_id ⇒ Object
Returns the value of attribute company_id.
-
#last_response_body ⇒ Object
readonly
Returns the value of attribute last_response_body.
-
#last_response_xml ⇒ Object
readonly
Returns the value of attribute last_response_xml.
-
#oauth ⇒ Object
Returns the value of attribute oauth.
Instance Method Summary collapse
- #access_token=(token) ⇒ Object
- #default_model_query ⇒ Object
-
#initialize(attributes = {}) ⇒ BaseService
constructor
A new instance of BaseService.
-
#realm_id=(company_id) ⇒ Object
realm & company are synonymous.
- #url_for_base ⇒ Object
- #url_for_query(query = nil, start_position = 1, max_results = 20) ⇒ Object
- #url_for_resource(resource) ⇒ Object
Methods included from ServiceCrud
#create, #delete, #delete_by_query_string, #fetch_by_id, #query
Methods included from Util::Logging
Constructor Details
#initialize(attributes = {}) ⇒ BaseService
Returns a new instance of BaseService.
18 19 20 21 |
# File 'lib/quickbooks/service/base_service.rb', line 18 def initialize(attributes = {}) @base_uri = 'https://qb.sbfinance.intuit.com/v3/company' attributes.each {|key, value| public_send("#{key}=", value) } end |
Instance Attribute Details
#base_uri ⇒ Object (readonly)
Returns the value of attribute base_uri.
9 10 11 |
# File 'lib/quickbooks/service/base_service.rb', line 9 def base_uri @base_uri end |
#company_id ⇒ Object
Returns the value of attribute company_id.
7 8 9 |
# File 'lib/quickbooks/service/base_service.rb', line 7 def company_id @company_id end |
#last_response_body ⇒ Object (readonly)
Returns the value of attribute last_response_body.
10 11 12 |
# File 'lib/quickbooks/service/base_service.rb', line 10 def last_response_body @last_response_body end |
#last_response_xml ⇒ Object (readonly)
Returns the value of attribute last_response_xml.
11 12 13 |
# File 'lib/quickbooks/service/base_service.rb', line 11 def last_response_xml @last_response_xml end |
#oauth ⇒ Object
Returns the value of attribute oauth.
8 9 10 |
# File 'lib/quickbooks/service/base_service.rb', line 8 def oauth @oauth end |
Instance Method Details
#access_token=(token) ⇒ Object
23 24 25 |
# File 'lib/quickbooks/service/base_service.rb', line 23 def access_token=(token) @oauth = token end |
#default_model_query ⇒ Object
44 45 46 |
# File 'lib/quickbooks/service/base_service.rb', line 44 def default_model_query "SELECT * FROM #{self.class.name.split("::").last}" end |
#realm_id=(company_id) ⇒ Object
realm & company are synonymous
32 33 34 |
# File 'lib/quickbooks/service/base_service.rb', line 32 def realm_id=(company_id) @company_id = company_id end |
#url_for_base ⇒ Object
40 41 42 |
# File 'lib/quickbooks/service/base_service.rb', line 40 def url_for_base "#{@base_uri}/#{@company_id}" end |
#url_for_query(query = nil, start_position = 1, max_results = 20) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/quickbooks/service/base_service.rb', line 48 def url_for_query(query = nil, start_position = 1, max_results = 20) query ||= default_model_query query = "#{query} STARTPOSITION #{start_position} MAXRESULTS #{max_results}" "#{url_for_base}/query?query=#{URI.encode_www_form_component(query)}" end |
#url_for_resource(resource) ⇒ Object
36 37 38 |
# File 'lib/quickbooks/service/base_service.rb', line 36 def url_for_resource(resource) "#{url_for_base}/#{resource}" end |