class AllscriptsUnityClient::ClientDriver

An abstract class for ClientDrivers that fully implement making calls to a Unity server.

Constants

LOG_FILE

Attributes

options[RW]
security_token[RW]

Public Class Methods

new(options) click to toggle source

Constructor.

options

See ClientOptions.

# File lib/allscripts_unity_client/client_driver.rb, line 15
def initialize(options)
  @options = ClientOptions.new(options)
end

Public Instance Methods

client_type() click to toggle source

Returns the type of client, usually a symbol.

# File lib/allscripts_unity_client/client_driver.rb, line 25
def client_type
  :none
end
get_security_token!(_parameters = {}) click to toggle source

See Client#get_security_token!.

# File lib/allscripts_unity_client/client_driver.rb, line 35
def get_security_token!(_parameters = {})
  raise NotImplementedError, 'get_security_token! not implemented'
end
magic(_parameters = {}) click to toggle source

See Client#magic.

# File lib/allscripts_unity_client/client_driver.rb, line 30
def magic(_parameters = {})
  raise NotImplementedError, 'magic not implemented'
end
retire_security_token!(_parameters = {}) click to toggle source

See Client#retire_security_token!.

# File lib/allscripts_unity_client/client_driver.rb, line 40
def retire_security_token!(_parameters = {})
  raise NotImplementedError, 'retire_security_token! not implemented'
end
security_token?() click to toggle source

Returns true if security token is not nil.

# File lib/allscripts_unity_client/client_driver.rb, line 20
def security_token?
  !@security_token.nil?
end

Protected Instance Methods

end_timer() click to toggle source
# File lib/allscripts_unity_client/client_driver.rb, line 74
def end_timer
  @end_time = Time.now.utc
  @timer = @end_time - @start_time
end
log_get_security_token() click to toggle source
# File lib/allscripts_unity_client/client_driver.rb, line 46
def log_get_security_token
  message = "Unity API GetSecurityToken request to #{@options.base_unity_url}"
  log_info(message)
end
log_info(message) click to toggle source
# File lib/allscripts_unity_client/client_driver.rb, line 62
def log_info(message)
  log(:info, message)
end
log_magic(request) click to toggle source
# File lib/allscripts_unity_client/client_driver.rb, line 56
def log_magic(request)
  raise ArgumentError, 'request can not be nil' if request.nil?
  message = "Unity API Magic request to #{@options.base_unity_url} [#{request.parameters[:action]}]"
  log_info(message)
end
log_retire_security_token() click to toggle source
# File lib/allscripts_unity_client/client_driver.rb, line 51
def log_retire_security_token
  message = "Unity API RetireSecurityToken request to #{@options.base_unity_url}"
  log_info(message)
end
log_warn(message) click to toggle source
# File lib/allscripts_unity_client/client_driver.rb, line 66
def log_warn(message)
  log(:warn, message)
end
make_get_security_token_error() click to toggle source

Initializes a ‘GetSecurityTokenError` with a default message.

@return [GetSecurityTokenError]

# File lib/allscripts_unity_client/client_driver.rb, line 82
def make_get_security_token_error
  base_unity_url = self.options.base_unity_url.inspect
  error_message = "Could not retrieve security token from #{base_unity_url}"

  GetSecurityTokenError.new(error_message)
end
start_timer() click to toggle source
# File lib/allscripts_unity_client/client_driver.rb, line 70
def start_timer
  @start_time = Time.now.utc
end

Private Instance Methods

log(level, message) click to toggle source
# File lib/allscripts_unity_client/client_driver.rb, line 91
def log(level, message)
  if @options.logger? && !message.nil?
    message += " #{@timer} seconds" unless @timer.nil?
    @timer = nil
    @options.logger.send(level, message)
  end
end