Class: Emarsys::Response

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ Response



5
6
7
8
9
10
11
# File 'lib/emarsys/response.rb', line 5

def initialize(response)
  json = JSON.parse(response)
  self.code = json['replyCode']
  self.text = json['replyText']
  self.data = json['data']
  self.status = response.code if response.respond_to?(:code)
end

Instance Attribute Details

#codeObject

Returns the value of attribute code.



3
4
5
# File 'lib/emarsys/response.rb', line 3

def code
  @code
end

#dataObject

Returns the value of attribute data.



3
4
5
# File 'lib/emarsys/response.rb', line 3

def data
  @data
end

#statusObject

Returns the value of attribute status.



3
4
5
# File 'lib/emarsys/response.rb', line 3

def status
  @status
end

#textObject

Returns the value of attribute text.



3
4
5
# File 'lib/emarsys/response.rb', line 3

def text
  @text
end

Instance Method Details

#resultObject



13
14
15
16
17
18
19
20
21
# File 'lib/emarsys/response.rb', line 13

def result
  if code == 0
    data
  elsif !status.nil? && status == 401
    raise Emarsys::Unauthorized.new(code, text, status)
  else
    raise Emarsys::BadRequest.new(code, text, status)
  end
end