class FreeAgent::Client

Constants

BASE_URL
SANDBOX_BASE_URL

Attributes

access_token[R]
adapter[R]
sandbox[R]

Public Class Methods

new(access_token:, sandbox: false, adapter: Faraday.default_adapter, stubs: nil) click to toggle source
# File lib/free_agent/client.rb, line 8
def initialize(access_token:, sandbox: false, adapter: Faraday.default_adapter, stubs: nil)
  @access_token = access_token
  @sandbox = sandbox
  @adapter = adapter

  # Test stubs for requests
  @stubs = stubs
end

Public Instance Methods

attachments() click to toggle source
# File lib/free_agent/client.rb, line 53
def attachments
  AttachmentsResource.new(self)
end
bank_accounts() click to toggle source
# File lib/free_agent/client.rb, line 25
def bank_accounts
  BankAccountsResource.new(self)
end
bank_transaction_explanations() click to toggle source
# File lib/free_agent/client.rb, line 33
def bank_transaction_explanations
  BankTransactionExplanationsResource.new(self)
end
bank_transactions() click to toggle source
# File lib/free_agent/client.rb, line 29
def bank_transactions
  BankTransactionsResource.new(self)
end
bills() click to toggle source
# File lib/free_agent/client.rb, line 73
def bills
  BillsResource.new(self)
end
company() click to toggle source
# File lib/free_agent/client.rb, line 17
def company
  CompanyResource.new(self)
end
connection() click to toggle source
# File lib/free_agent/client.rb, line 77
def connection
  url = (sandbox == true ? SANDBOX_BASE_URL : BASE_URL)
  @connection ||= Faraday.new(url) do |conn|
    conn.request :authorization, :Bearer, access_token
    conn.request :json

    conn.response :dates
    conn.response :json, content_type: "application/json"

    conn.adapter adapter, @stubs
  end
end
connection_upload() click to toggle source

Uses Faraday Multipart (lostisland/faraday-multipart)

# File lib/free_agent/client.rb, line 91
def connection_upload
  url = (sandbox == true ? SANDBOX_BASE_URL : BASE_URL)
  @connection ||= Faraday.new(url) do |conn|
    conn.request :authorization, :Bearer, access_token
    conn.request :multipart
  end
end
contacts() click to toggle source
# File lib/free_agent/client.rb, line 21
def contacts
  ContactsResource.new(self)
end
credit_notes() click to toggle source
# File lib/free_agent/client.rb, line 69
def credit_notes
  CreditNotesResource.new(self)
end
estimate_items() click to toggle source
# File lib/free_agent/client.rb, line 65
def estimate_items
  EstimateItemsResource.new(self)
end
estimates() click to toggle source
# File lib/free_agent/client.rb, line 61
def estimates
  EstimatesResource.new(self)
end
invoices() click to toggle source
# File lib/free_agent/client.rb, line 57
def invoices
  InvoicesResource.new(self)
end
projects() click to toggle source
# File lib/free_agent/client.rb, line 37
def projects
  ProjectsResource.new(self)
end
tasks() click to toggle source
# File lib/free_agent/client.rb, line 41
def tasks
  TasksResource.new(self)
end
timeslips() click to toggle source
# File lib/free_agent/client.rb, line 45
def timeslips
  TimeslipsResource.new(self)
end
users() click to toggle source
# File lib/free_agent/client.rb, line 49
def users
  UsersResource.new(self)
end