class FreeAgent::BankTransactionsResource

Public Instance Methods

create(bank_account:, statement:) click to toggle source

Statement should be an array of transactions

# File lib/free_agent/resources/bank_transactions.rb, line 17
def create(bank_account:, statement:)
  response = post_request("bank_transactions/statement?bank_account=#{bank_account}", body: {statement: statement})
  response.success?
end
delete(id:) click to toggle source
# File lib/free_agent/resources/bank_transactions.rb, line 31
def delete(id:)
  response = delete_request("bank_transactions/#{id}")
  response.success?
end
list(bank_account:, **params) click to toggle source
# File lib/free_agent/resources/bank_transactions.rb, line 4
def list(bank_account:, **params)
  attributes = {bank_account: bank_account}

  response = get_request("bank_transactions", params: attributes.merge(params))
  Collection.from_response(response, type: BankTransaction, key: "bank_transactions")
end
retrieve(id:) click to toggle source
# File lib/free_agent/resources/bank_transactions.rb, line 11
def retrieve(id:)
  response = get_request("bank_transactions/#{id}")
  BankTransaction.new(response.body["bank_transaction"])
end
upload(bank_account:, statement:) click to toggle source
# File lib/free_agent/resources/bank_transactions.rb, line 22
def upload(bank_account:, statement:)
  # This method uses Faraday Multipart (lostisland/faraday-multipart)
  payload = {}
  payload[:statement] = Faraday::Multipart::FilePart.new(statement, 'text/x-ruby')

  response = client.connection_upload.post "bank_transactions/statement?bank_account=#{bank_account}", payload
  response.success?
end