sysaid 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0bc7dbae6cf5ac0e3a514cf8316b1c5aebd16a9e
4
- data.tar.gz: babb7c8076094240eaa4bd1d18eb621ef0e7e46f
3
+ metadata.gz: 2d418e910f545a0ec051edba6e5a6e922099e563
4
+ data.tar.gz: 87e00dad201543cf04e081e4e7727fc4374cb96e
5
5
  SHA512:
6
- metadata.gz: 9fc827b98fe2ac91bad360001165d9971c15d157ae723ddc9fb293333634432c03e172b951f5087e9c1c8ba4cb32cfe875f1e40624dee3600a6a5c43438e977a
7
- data.tar.gz: a67f7d7288856fdc424e9f7ab4d68e8daa14a7a795569152d641e63acd014219eb0f36386d1daed61392cc0fd78fc72ef572f964307d5a70e6c01f4e5d07a64b
6
+ metadata.gz: 39c8f122024da00d30d6f1af474812908753735fee455ced3964c110080653d524aa3b756c4ae2f5de63473b6f5d30a365b712fc98ce4960327b67ec88637884
7
+ data.tar.gz: 8126e7f98dcb4983ba5bf5e40e62f218d4f6b5bc2645b0a340aa65da9f0bec77f985ee8f1518f361ce9c140f56a50556421b25b19281ba2013380e17c59b113e
@@ -1,5 +1,9 @@
1
1
  require 'savon'
2
2
 
3
+ # Custom error class used for throwing exceptions to this gem's user
4
+ class SysAidException < StandardError
5
+ end
6
+
3
7
  # The main SysAid class
4
8
  class SysAid
5
9
  @@logged_in = false
@@ -52,17 +56,22 @@ class SysAid
52
56
  @@server_settings = { :account => account, :username => username, :password => password, :wsdl_uri => wsdl_uri, :debug => debug }
53
57
  end
54
58
 
55
- @@client = Savon.client(wsdl: @@server_settings[:wsdl_uri], log: @@server_settings[:debug])
59
+ begin
60
+ @@client = Savon.client(wsdl: @@server_settings[:wsdl_uri], log: @@server_settings[:debug])
56
61
 
57
- # login
58
- unless @@server_settings[:account].nil?
59
- # Call login
60
- response = @@client.call(:login, message: { accountId: @@server_settings[:account], userName: @@server_settings[:username], password: @@server_settings[:password] })
62
+ # login
63
+ unless @@server_settings[:account].nil?
64
+ # Call login
65
+ response = @@client.call(:login, message: { accountId: @@server_settings[:account], userName: @@server_settings[:username], password: @@server_settings[:password] })
61
66
 
62
- # Retrieve response
63
- @@session_id = response.to_hash[:login_response][:return]
67
+ # Retrieve response
68
+ @@session_id = response.to_hash[:login_response][:return]
64
69
 
65
- @@logged_in = true
70
+ @@logged_in = true
71
+ end
72
+ rescue Net::ReadTimeout => e
73
+ # This isn't the API timeout, this is a normal socket timeout error.
74
+ raise SysAidException, "Unable to log into SysAid server: #{e.message}"
66
75
  end
67
76
  end
68
77
  end
@@ -1,8 +1,7 @@
1
1
  require 'date'
2
2
 
3
3
  class SysAid::Activity
4
- attr_accessor :ciid, :cust_int1, :cust_int2, :cust_int3, :cust_int4, :cust_list1, :cust_list2, :description, :from_time,
5
- :id, :sr_id, :to_time, :user
4
+ attr_accessor :ciid, :cust_int1, :cust_int2, :cust_int3, :cust_int4, :cust_list1, :cust_list2, :description, :from_time, :id, :sr_id, :to_time, :user
6
5
 
7
6
  def initialize
8
7
  reset_all_attributes
@@ -26,13 +26,17 @@ class SysAid::User
26
26
 
27
27
  # Loads the latest user information from the SysAid server
28
28
  def refresh
29
- response = SysAid.client.call(:load_by_string_id, message: to_xml.to_s )
30
- if response.to_hash[:load_by_string_id_response][:return]
31
- set_self_from_response(response.to_hash[:load_by_string_id_response][:return])
32
- return true
33
- end
29
+ begin
30
+ response = SysAid.client.call(:load_by_string_id, message: to_xml.to_s )
31
+ if response.to_hash[:load_by_string_id_response][:return]
32
+ set_self_from_response(response.to_hash[:load_by_string_id_response][:return])
33
+ return true
34
+ end
34
35
 
35
- return false
36
+ return false
37
+ rescue SocketError => e
38
+ raise SysAidException, "Unable to fetch user information from SysAid server: #{e.message}"
39
+ end
36
40
  end
37
41
 
38
42
  # Saves a user back to the SysAid server
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sysaid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Thielen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-23 00:00:00.000000000 Z
11
+ date: 2014-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: savon