class Stripe2QB::QuickbooksApi
Attributes
access_token[R]
deposit_account[R]
deposit_fees_account[R]
deposit_fees_vendor[R]
realm_id[R]
receipt_account[R]
receipt_customer[R]
receipt_item[R]
receipt_payment_method[R]
Public Class Methods
new(options)
click to toggle source
# File lib/stripe2qb/quickbooks_api.rb, line 20 def initialize(options) set_attribute_from_options('realm_id', options) @access_token = AccessToken.new(options) @receipt_customer = find_by_name_or_id(:customer, 'receipt_customer', options, :display_name) @receipt_item = find_by_name_or_id(:item, 'receipt_item', options) @receipt_payment_method = find_by_name_or_id(:payment_method, 'receipt_payment_method', options) @receipt_account = find_by_name_or_id(:account, 'receipt_account', options) @deposit_account = find_by_name_or_id(:account, 'deposit_account', options) @deposit_fees_vendor = find_by_name_or_id(:vendor, 'deposit_fees_vendor', options, :display_name) @deposit_fees_account = find_by_name_or_id(:account, 'deposit_fees_account', options) end
Public Instance Methods
method_missing(symbol, *args)
click to toggle source
Calls superclass method
# File lib/stripe2qb/quickbooks_api.rb, line 38 def method_missing(symbol, *args) if symbol.to_s =~ /^(.+)_service$/ get_service($1.camelize) else super end end
renew_access_token()
click to toggle source
# File lib/stripe2qb/quickbooks_api.rb, line 32 def renew_access_token result = access_token_service.renew { token: result.token, secret: result.secret, created_on: Date.today } end
Private Instance Methods
find_by_name_or_id(type, key, options, name_attr = :name)
click to toggle source
# File lib/stripe2qb/quickbooks_api.rb, line 48 def find_by_name_or_id(type, key, options, name_attr = :name) value = get_required_from_options(key, options) service = send("#{type}_service") unless object = value.is_a?(String) ? service.find_by(name_attr, value).first : service.find_by(:id, value).first msg = value.is_a?(String) ? "#{name_attr} '#{value}'" : "ID #{value}" raise ConfigurationError.new("no #{type} for #{msg}") end object end
get_service(name)
click to toggle source
# File lib/stripe2qb/quickbooks_api.rb, line 60 def get_service(name) service = "Quickbooks::Service::#{name}".constantize.new service.access_token = access_token.oauth service.company_id = realm_id service end