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, JournalEntry, Payment, PaymentMethod, Preferences, Purchase, PurchaseOrder, RefundReceipt, 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'
- BASE_DOMAIN =
'quickbooks.api.intuit.com'
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, #query_in_batches
Methods included from Util::Logging
Constructor Details
#initialize(attributes = {}) ⇒ BaseService
Returns a new instance of BaseService.
19 20 21 22 |
# File 'lib/quickbooks/service/base_service.rb', line 19 def initialize(attributes = {}) @base_uri = "https://#{BASE_DOMAIN}/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
24 25 26 |
# File 'lib/quickbooks/service/base_service.rb', line 24 def access_token=(token) @oauth = token end |
#default_model_query ⇒ Object
46 47 48 |
# File 'lib/quickbooks/service/base_service.rb', line 46 def default_model_query "SELECT * FROM #{self.class.name.split("::").last}" end |
#realm_id=(company_id) ⇒ Object
realm & company are synonymous
33 34 35 |
# File 'lib/quickbooks/service/base_service.rb', line 33 def realm_id=(company_id) @company_id = company_id end |
#url_for_base ⇒ Object
41 42 43 44 |
# File 'lib/quickbooks/service/base_service.rb', line 41 def url_for_base raise MissingRealmError.new unless @company_id "#{@base_uri}/#{@company_id}" end |
#url_for_query(query = nil, start_position = 1, max_results = 20) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/quickbooks/service/base_service.rb', line 50 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
37 38 39 |
# File 'lib/quickbooks/service/base_service.rb', line 37 def url_for_resource(resource) "#{url_for_base}/#{resource}" end |