class Dexby::Reader
Public Class Methods
new(username, password, connection_class=Dexby::Connection, parser_class=Dexby::Parse)
click to toggle source
# File lib/dexby/reader.rb, line 5 def initialize(username, password, connection_class=Dexby::Connection, parser_class=Dexby::Parse) @connection_class = connection_class @parser_class = parser_class @username = username @password = password @session_id = nil end
Public Instance Methods
connection()
click to toggle source
# File lib/dexby/reader.rb, line 13 def connection @connection_class end
ensure_session_id()
click to toggle source
# File lib/dexby/reader.rb, line 47 def ensure_session_id get_session_id if @session_id.nil? end
get_session_id()
click to toggle source
# File lib/dexby/reader.rb, line 51 def get_session_id result = connection.login(@username, @password) if result[1] == 200 @session_id = result[0] else raise ::StandardError end end
get_session_reread(minutes, count)
click to toggle source
# File lib/dexby/reader.rb, line 38 def get_session_reread(minutes, count) get_session_id read_connection(minutes, count) end
parser()
click to toggle source
# File lib/dexby/reader.rb, line 17 def parser @parser_class end
read(minutes=1440, count=1)
click to toggle source
# File lib/dexby/reader.rb, line 21 def read(minutes=1440, count=1) ensure_session_id result = session_connection_read(minutes, count) if result[1] != 200 raise ::StandardError, result[1] end parser.parse_all(result[0]) end
read_connection(minutes, count)
click to toggle source
# File lib/dexby/reader.rb, line 43 def read_connection(minutes, count) connection.read(@session_id, minutes, count) end
session_connection_read(minutes, count)
click to toggle source
# File lib/dexby/reader.rb, line 30 def session_connection_read(minutes, count) result = read_connection(minutes, count) if result[1] == 401 || result[1] == 500 # expired session_id result = get_session_reread(minutes, count) end return result end