require "quickbooks/active_record_ext"
require "quickbooks/engine"
require "quickbooks/middleware/authorization"
require "quickbooks/middleware/response_parser"
module Quickbooks

  def self.with_company(company)
    old_company = RequestStore.store[:quickbooks_current_company]
    RequestStore.store[:quickbooks_current_company] = company
    yield
  ensure
    RequestStore.store[:quickbooks_current_company] = old_company
  end

  def self.current_company(required: true)
    RequestStore.store[:quickbooks_current_company] || (required ? raise('Current Company required') : nil)
  end

end
