class Acumatica::Client

Constants

API_VERSION

Attributes

debug[RW]
name[RW]
password[RW]
token[RW]
url[RW]

Public Class Methods

configure() { |instance| ... } click to toggle source
# File lib/acumatica/client.rb, line 17
def self.configure
  yield(instance)
  instance
end

Public Instance Methods

base_url() click to toggle source
# File lib/acumatica/client.rb, line 22
def base_url
  @base_url ||= URI.join(url, "entity/Default/#{API_VERSION}/")
end
connection() click to toggle source
# File lib/acumatica/client.rb, line 26
def connection
  @connection ||= Faraday.new do |conn|
    conn.request :json

    if token
      conn.request :oauth2, token
    else
      conn.use :cookie_jar
    end
    conn.use Acumatica::ErrorHandler

    conn.response :json
    conn.response :logger, nil, bodies: true if debug
    conn.adapter Faraday.default_adapter
  end
end
customers() click to toggle source
# File lib/acumatica/client.rb, line 62
def customers
  Acumatica::Customer
end
login() click to toggle source
# File lib/acumatica/client.rb, line 50
def login
  response = connection.post do |req|
    req.url URI.join(@url, "/entity/auth/login")
    req.body = { name: @name, password: @password }
  end
  response.success?
end
logout() click to toggle source
# File lib/acumatica/client.rb, line 58
def logout
  connection.post(URI.join(@url, "/entity/auth/logout")).success?
end
sales_orders() click to toggle source
# File lib/acumatica/client.rb, line 66
def sales_orders
  Acumatica::SalesOrder
end
session() { || ... } click to toggle source
# File lib/acumatica/client.rb, line 43
def session
  login
  result = yield
  logout
  result
end
stock_items() click to toggle source
# File lib/acumatica/client.rb, line 70
def stock_items
  Acumatica::StockItem
end