Sha256: 5e7e3c47dc552ba38e29eae0c9ea906e7d727f8c7e62447d35f715c74a72e479

Contents?: true

Size: 1.16 KB

Versions: 7

Compression:

Stored size: 1.16 KB

Contents

require 'allscripts_unity_client/utilities'
require 'allscripts_unity_client/timezone'
require 'allscripts_unity_client/unity_request'
require 'allscripts_unity_client/json_unity_request'
require 'allscripts_unity_client/unity_response'
require 'allscripts_unity_client/json_unity_response'
require 'allscripts_unity_client/client'
require 'allscripts_unity_client/client_driver'
require 'allscripts_unity_client/client_options'
require 'allscripts_unity_client/soap_client_driver'
require 'allscripts_unity_client/json_client_driver'
require 'allscripts_unity_client/new_relic_support'

module AllscriptsUnityClient
  class APIError < RuntimeError
  end

  def self.create(options = {})
    options[:mode] ||= :soap
    options[:log] = true unless options[:log] === false
    raise_if_options_invalid options

    if options[:mode] == :json
      client_driver = JSONClientDriver.new(options)
    else
      client_driver = SOAPClientDriver.new(options)
    end

    client = Client.new(client_driver)
    client
  end

  private

  def self.raise_if_options_invalid(options)
    raise ArgumentError, ':mode must be :json or :soap' unless [:json, :soap].include?(options[:mode])
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
allscripts_unity_client-2.1.6 lib/allscripts_unity_client.rb
allscripts_unity_client-2.1.5 lib/allscripts_unity_client.rb
allscripts_unity_client-2.1.4 lib/allscripts_unity_client.rb
allscripts_unity_client-2.1.3 lib/allscripts_unity_client.rb
allscripts_unity_client-2.1.2 lib/allscripts_unity_client.rb
allscripts_unity_client-2.1.1 lib/allscripts_unity_client.rb
allscripts_unity_client-2.1.0 lib/allscripts_unity_client.rb