Module: Twinfield

Defined in:
lib/twinfield/browse/transaction/customer.rb,
lib/twinfield.rb,
lib/twinfield/version.rb,
lib/twinfield/customer.rb,
lib/twinfield/api/finder.rb,
lib/twinfield/api/process.rb,
lib/twinfield/api/session.rb,
lib/twinfield/transaction.rb,
lib/twinfield/api/base_api.rb,
lib/twinfield/create/error.rb,
lib/twinfield/request/find.rb,
lib/twinfield/request/list.rb,
lib/twinfield/request/read.rb,
lib/twinfield/configuration.rb,
lib/twinfield/create/debtor.rb,
lib/twinfield/sales_invoice.rb,
lib/twinfield/abstract_model.rb,
lib/twinfield/create/creditor.rb,
lib/twinfield/helpers/parsers.rb,
lib/twinfield/api/o_auth_session.rb,
lib/twinfield/create/cost_center.rb,
lib/twinfield/create/transaction.rb,
lib/twinfield/create/general_ledger.rb,
lib/twinfield/helpers/transaction_match.rb,
lib/twinfield/browse/transaction/cost_center.rb,
lib/twinfield/browse/transaction/general_ledger.rb

Overview

These models are the result of a browse response; and sadly do not map 1 on 1 on a e.g. Transaction; and reconstruction isn’t possible with just the results from the browse response.

Defined Under Namespace

Modules: Api, Browse, Create, Helpers, Request, Version Classes: AbstractModel, Configuration, Customer, SalesInvoice, Transaction, TransactionMatchError

Constant Summary collapse

WSDLS =
{
  :session => File.join(__dir__, "..", "wsdls", "session.wsdl"),
  "accounting" => {
    session: File.join(__dir__, "..", "wsdls", "session.wsdl"),
    process: File.join(__dir__, "..", "wsdls", "accounting", "process.wsdl"),
    finder: File.join(__dir__, "..", "wsdls", "accounting", "finder.wsdl")
  },
  "accounting2" => {
    process: File.join(__dir__, "..", "wsdls", "accounting2", "process.wsdl"),
    finder: File.join(__dir__, "..", "wsdls", "accounting2", "finder.wsdl")
  },
  "api.accounting" => {
    process: File.join(__dir__, "..", "wsdls", "api.accounting", "process.wsdl"),
    finder: File.join(__dir__, "..", "wsdls", "api.accounting", "finder.wsdl")
  }

}
ERRORS =
{
  100 => "Unexpected exception.",
  101 => "Session header is missing.",
  102 => "Access is denied.",
  103 => "The log-on credentials are not valid anymore.",
  104 => "The log-on has been deleted.",
  105 => "The log-on has been disabled.",
  106 => "The organisation is no longer active.",
  107 => "SMS failed to send.",
  108 => "Access to this server is not allowed because the cluster is invalid.",
  109 => "You need access to at least one company to log on.",
  110 => "Login is not allowed on this server"
}

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Holds the configuration for easy access to settings



38
39
40
# File 'lib/twinfield.rb', line 38

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Configures gem options

Yields:



41
42
43
44
45
# File 'lib/twinfield.rb', line 41

def configure
  self.configuration ||= Twinfield::Configuration.new
  reset_sessions!
  yield(configuration)
end

.reset_sessions!Object



47
48
49
50
# File 'lib/twinfield.rb', line 47

def reset_sessions!
  Twinfield::Api::Process.session = nil
  Twinfield::Api::Finder.session = nil
end