class Qualtrics::Response

Public Class Methods

new(raw_response) click to toggle source
# File lib/qualtrics/response.rb, line 7
def initialize(raw_response)
  @raw_response = raw_response
  if status != 200
    raise Qualtrics::ServerErrorEncountered, error_message
  end
end

Public Instance Methods

result() click to toggle source
# File lib/qualtrics/response.rb, line 18
def result
  if content_type == 'application/vnd.msexcel'
    body.nil? ? {} : body
  else
    body['Result'].nil? ? {} : body['Result']
  end
end
status() click to toggle source
# File lib/qualtrics/response.rb, line 26
def status
  @raw_response.status
end
success?() click to toggle source
# File lib/qualtrics/response.rb, line 14
def success?
  body['Meta'].nil? ? false : body['Meta']['Status'] == 'Success'
end

Protected Instance Methods

body() click to toggle source
# File lib/qualtrics/response.rb, line 32
def body
  if @body.nil?
    if @raw_response.body == ''
      @body = {}
    elsif content_type == 'application/json'
      @body = JSON.parse(@raw_response.body)
    elsif content_type == 'application/vnd.msexcel'
      @body = @raw_response.body
    else
      raise Qualtrics::UnexpectedContentType, content_type
    end
  end
  @body
end
content_type() click to toggle source
# File lib/qualtrics/response.rb, line 47
def content_type
  if @content_type.nil?
    header = @raw_response.headers['Content-Type']
    if header.nil?
      @content_type = {}
    else
      @content_type = header
    end
  end
  @content_type
end

Private Instance Methods

error_message() click to toggle source
# File lib/qualtrics/response.rb, line 60
def error_message
  body['Meta'].nil? ? 'No error message' : body['Meta']['ErrorMessage']
end