Class: Emailvision::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/emailvision/response.rb

Overview

Response object

This class aims to extract the response from Emailvision

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response, logger) ⇒ Response

Returns a new instance of Response.



11
12
13
14
# File 'lib/emailvision/response.rb', line 11

def initialize(response, logger)
  @response = response
  @logger = logger
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



9
10
11
# File 'lib/emailvision/response.rb', line 9

def logger
  @logger
end

#responseObject (readonly)

Returns the value of attribute response.



9
10
11
# File 'lib/emailvision/response.rb', line 9

def response
  @response
end

Instance Method Details

#extractObject



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/emailvision/response.rb', line 16

def extract      
  logger.receive(content.inspect)

  if succeed?
    response = content["response"]["result"] || content["response"] 
  else
    handle_errors
  end
rescue MultiXml::ParseError, REXML::ParseException => error
  wrapped_error = Emailvision::MalformedResponse.new(error)
  raise wrapped_error, "Error when parsing response body"
end