Class: QBWC::Session
Constant Summary collapse
- @@session =
nil
Instance Attribute Summary collapse
-
#current_job ⇒ Object
readonly
Returns the value of attribute current_job.
-
#current_request ⇒ Object
readonly
Returns the value of attribute current_request.
-
#progress ⇒ Object
readonly
Returns the value of attribute progress.
-
#qbwc_iterating ⇒ Object
readonly
Returns the value of attribute qbwc_iterating.
-
#qbwc_iterator_queue ⇒ Object
readonly
Returns the value of attribute qbwc_iterator_queue.
-
#saved_requests ⇒ Object
readonly
Returns the value of attribute saved_requests.
Class Method Summary collapse
Instance Method Summary collapse
- #finished? ⇒ Boolean
-
#initialize ⇒ Session
constructor
A new instance of Session.
- #next ⇒ Object
- #process_saved_responses ⇒ Object
- #reset ⇒ Object
- #response=(qbxml_response) ⇒ Object
Constructor Details
#initialize ⇒ Session
Returns a new instance of Session.
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/qbwc/session.rb', line 9 def initialize @current_job = nil @current_request = nil @saved_requests = [] @qbwc_iterator_queue = [] @qbwc_iterating = false @@session = self reset end |
Instance Attribute Details
#current_job ⇒ Object (readonly)
Returns the value of attribute current_job.
4 5 6 |
# File 'lib/qbwc/session.rb', line 4 def current_job @current_job end |
#current_request ⇒ Object (readonly)
Returns the value of attribute current_request.
4 5 6 |
# File 'lib/qbwc/session.rb', line 4 def current_request @current_request end |
#progress ⇒ Object (readonly)
Returns the value of attribute progress.
4 5 6 |
# File 'lib/qbwc/session.rb', line 4 def progress @progress end |
#qbwc_iterating ⇒ Object (readonly)
Returns the value of attribute qbwc_iterating.
5 6 7 |
# File 'lib/qbwc/session.rb', line 5 def @qbwc_iterating end |
#qbwc_iterator_queue ⇒ Object (readonly)
Returns the value of attribute qbwc_iterator_queue.
5 6 7 |
# File 'lib/qbwc/session.rb', line 5 def qbwc_iterator_queue @qbwc_iterator_queue end |
#saved_requests ⇒ Object (readonly)
Returns the value of attribute saved_requests.
4 5 6 |
# File 'lib/qbwc/session.rb', line 4 def saved_requests @saved_requests end |
Class Method Details
.new_or_unfinished ⇒ Object
101 102 103 |
# File 'lib/qbwc/session.rb', line 101 def new_or_unfinished (!@@session || @@session.finished?) ? new : @@session end |
Instance Method Details
#finished? ⇒ Boolean
27 28 29 |
# File 'lib/qbwc/session.rb', line 27 def finished? @progress == 100 end |
#next ⇒ Object
31 32 33 |
# File 'lib/qbwc/session.rb', line 31 def next @requests.alive? ? @requests.resume : nil end |
#process_saved_responses ⇒ Object
47 48 49 |
# File 'lib/qbwc/session.rb', line 47 def process_saved_responses @saved_requests.each { |r| r.process_response } end |
#reset ⇒ Object
21 22 23 24 25 |
# File 'lib/qbwc/session.rb', line 21 def reset @progress = QBWC.jobs.blank? ? 100 : 0 enabled_jobs.map { |j| j.reset } unless enabled_jobs.blank? @requests = build_request_generator(enabled_jobs) end |
#response=(qbxml_response) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/qbwc/session.rb', line 35 def response=(qbxml_response) @current_request.response = \ QBWC.parser.qbxml_to_hash(qbxml_response) parse_response_header(@current_request.response) if QBWC.delayed_processing @saved_requests << @current_request else @current_request.process_response end end |