Class: EDSApi::ConnectionHandler
- Inherits:
-
Connection
- Object
- Connection
- EDSApi::ConnectionHandler
- Defined in:
- lib/eds-alpha.rb
Overview
Handles connections - retries failed connections, passes commands along
Instance Attribute Summary collapse
-
#max_retries ⇒ Object
Returns the value of attribute max_retries.
-
#session_token ⇒ Object
Returns the value of attribute session_token.
Attributes inherited from Connection
#auth_token, #password, #userid
Instance Method Summary collapse
- #info(session_token, auth_token, format = :xml) ⇒ Object
-
#initialize(max_retries = 2) ⇒ ConnectionHandler
constructor
A new instance of ConnectionHandler.
- #retrieve(dbid, an, session_token, auth_token, format = :xml) ⇒ Object
- #search(options, session_token, auth_token, format = :xml) ⇒ Object
- #show_auth_token ⇒ Object
- #show_session_token ⇒ Object
Methods inherited from Connection
#create_session, #end_session, #ip_authenticate, #ip_init, #uid_authenticate, #uid_init
Constructor Details
#initialize(max_retries = 2) ⇒ ConnectionHandler
Returns a new instance of ConnectionHandler.
117 118 119 |
# File 'lib/eds-alpha.rb', line 117 def initialize(max_retries = 2) @max_retries = max_retries end |
Instance Attribute Details
#max_retries ⇒ Object
Returns the value of attribute max_retries.
115 116 117 |
# File 'lib/eds-alpha.rb', line 115 def max_retries @max_retries end |
#session_token ⇒ Object
Returns the value of attribute session_token.
116 117 118 |
# File 'lib/eds-alpha.rb', line 116 def session_token @session_token end |
Instance Method Details
#info(session_token, auth_token, format = :xml) ⇒ Object
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'lib/eds-alpha.rb', line 147 def info (session_token, auth_token, format= :xml) attempts = 0 @auth_token = auth_token @session_token = session_token loop do result = JSON.parse(super(session_token, format)) # JSON Parse if result.has_key?('ErrorNumber') case result['ErrorNumber'] when "108" @session_token = self.create_session when "104" self.uid_authenticate(:json) end if ++attempts == @max_retries abort "Bad response from server - error code #{result['ErrorNumber']}" end else return result end end end |
#retrieve(dbid, an, session_token, auth_token, format = :xml) ⇒ Object
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
# File 'lib/eds-alpha.rb', line 168 def retrieve(dbid, an, session_token, auth_token, format = :xml) attempts = 0 @session_token = session_token @auth_token = auth_token loop do result = JSON.parse(super(dbid, an, session_token, format)) if result.has_key?('ErrorNumber') case result['ErrorNumber'] when "108" @session_token = self.create_session when "104" self.uid_authenticate(:json) end if ++attempts == @max_retries abort "Bad response from server - error code #{result['ErrorNumber']}" end else return result end end end |
#search(options, session_token, auth_token, format = :xml) ⇒ Object
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/eds-alpha.rb', line 126 def search(, session_token, auth_token, format = :xml) attempts = 0 @session_token = session_token @auth_token = auth_token loop do result = JSON.parse(super(, session_token, format)) if result.has_key?('ErrorNumber') case result['ErrorNumber'] when "108" @session_token = self.create_session when "104" self.uid_authenticate(:json) end if ++attempts == @max_retries abort "Bad response from server - error code #{result['ErrorNumber']}" end else return result end end end |
#show_auth_token ⇒ Object
123 124 125 |
# File 'lib/eds-alpha.rb', line 123 def show_auth_token return @auth_token end |
#show_session_token ⇒ Object
120 121 122 |
# File 'lib/eds-alpha.rb', line 120 def show_session_token return @session_token end |