Class: SysAid
- Inherits:
-
Object
- Object
- SysAid
- Defined in:
- lib/sysaid.rb
Overview
The main SysAid class
Defined Under Namespace
Constant Summary collapse
- @@logged_in =
false- @@server_settings =
{}
Class Method Summary collapse
-
.client ⇒ Object
Accessor for internal SysaidApiService object.
-
.logged_in? ⇒ Boolean
Returns true if logged into SysAid server Note: By design, logged_in? will try to log in if it isn’t already.
-
.login(account = nil, username = nil, password = nil, wsdl_uri = nil, debug = false) ⇒ Object
self.login does not require credentials be passed every time.
-
.session_id ⇒ Object
Accessor for session ID returned by SysAid server.
Class Method Details
.client ⇒ Object
Accessor for internal SysaidApiService object. Used by SysAid::Ticket
10 11 12 |
# File 'lib/sysaid.rb', line 10 def self.client @@client end |
.logged_in? ⇒ Boolean
Returns true if logged into SysAid server Note: By design, logged_in? will try to log in if it isn’t already
Example:
>> SysAid.logged_in?
=> true
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/sysaid.rb', line 26 def self.logged_in? # Until official word comes from the company, we're going to login every time # to avoid a problem with undetected timeouts. #if @@logged_in == false login #end if @@logged_in return true else return false end end |
.login(account = nil, username = nil, password = nil, wsdl_uri = nil, debug = false) ⇒ Object
self.login does not require credentials be passed every time. SysAid sometimes times out the session and we can simply call ‘login’ again with the saved credentials to get around the timeout.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/sysaid.rb', line 43 def self.login(account = nil, username = nil, password = nil, wsdl_uri = nil, debug = false) if account and username and password and wsdl_uri # Save server settings in case we need to log in again later @@server_settings = { :account => account, :username => username, :password => password, :wsdl_uri => wsdl_uri, :debug => debug } end @@client = Savon.client(wsdl: @@server_settings[:wsdl_uri], log: @@server_settings[:debug]) # login unless @@server_settings[:account].nil? # Call login response = @@client.call(:login, message: { accountId: @@server_settings[:account], userName: @@server_settings[:username], password: @@server_settings[:password] }) # Retrieve response @@session_id = response.to_hash[:login_response][:return] @@logged_in = true end end |
.session_id ⇒ Object
Accessor for session ID returned by SysAid server. Used by SysAid::Ticket
16 17 18 |
# File 'lib/sysaid.rb', line 16 def self.session_id @@session_id end |