Class: ET::Continue

Inherits:
Constructor show all
Defined in:
lib/exact-target-api/continue.rb

Instance Attribute Summary

Attributes inherited from Constructor

#code, #message, #moreResults, #request_id, #results, #status

Instance Method Summary collapse

Constructor Details

#initialize(authStub, request_id) ⇒ Continue

Returns a new instance of Continue.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/exact-target-api/continue.rb', line 3

def initialize(authStub, request_id)
  @results = []
  authStub.refreshToken
  obj = {'ContinueRequest' => request_id}
  response = authStub.auth.call(:retrieve, :message => {'RetrieveRequest' => obj})

  super(response)

  if @status then
    if @body[:retrieve_response_msg][:overall_status] != "OK" && @body[:retrieve_response_msg][:overall_status] != "MoreDataAvailable" then
      @status = false
      @message = @body[:retrieve_response_msg][:overall_status]
    end

    @moreResults = false
    if @body[:retrieve_response_msg][:overall_status] == "MoreDataAvailable" then
      @moreResults = true
    end

    if (!@body[:retrieve_response_msg][:results].is_a? Hash) && (!@body[:retrieve_response_msg][:results].nil?) then
      @results = @results + @body[:retrieve_response_msg][:results]
    elsif  (!@body[:retrieve_response_msg][:results].nil?)
      @results.push(@body[:retrieve_response_msg][:results])
    end

    # Store the Last Request ID for use with continue
    @request_id = @body[:retrieve_response_msg][:request_id]
  end
end