Class: Suretax::Api::Response

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response_body) ⇒ Response

Returns a new instance of Response.



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/suretax/api/response.rb', line 9

def initialize(response_body)
  @body = JSON.generate(response_body)
  @status = response_body.fetch("ResponseCode")
  @transaction = response_body.fetch("TransId").to_s
  @message = response_body.fetch("HeaderMessage")
  @success = response_body.fetch("Successful") == "Y"
  @client_tracking = response_body["ClientTracking"] || nil
  @total_tax = Amount.new(response_body["TotalTax"])

  build_groups(response_body)
  build_item_messages(response_body)
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



6
7
8
# File 'lib/suretax/api/response.rb', line 6

def body
  @body
end

#client_trackingObject (readonly)

Returns the value of attribute client_tracking.



6
7
8
# File 'lib/suretax/api/response.rb', line 6

def client_tracking
  @client_tracking
end

#groupsObject (readonly)

Returns the value of attribute groups.



6
7
8
# File 'lib/suretax/api/response.rb', line 6

def groups
  @groups
end

#item_messagesObject (readonly)

Returns the value of attribute item_messages.



6
7
8
# File 'lib/suretax/api/response.rb', line 6

def item_messages
  @item_messages
end

#messageObject (readonly)

Returns the value of attribute message.



6
7
8
# File 'lib/suretax/api/response.rb', line 6

def message
  @message
end

#statusObject (readonly)

Returns the value of attribute status.



6
7
8
# File 'lib/suretax/api/response.rb', line 6

def status
  @status
end

#total_taxObject (readonly)

Returns the value of attribute total_tax.



6
7
8
# File 'lib/suretax/api/response.rb', line 6

def total_tax
  @total_tax
end

#transactionObject (readonly)

Returns the value of attribute transaction.



6
7
8
# File 'lib/suretax/api/response.rb', line 6

def transaction
  @transaction
end

Instance Method Details

#item_errors?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/suretax/api/response.rb', line 26

def item_errors?
  @status == "9001"
end

#success?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/suretax/api/response.rb', line 22

def success?
  @success
end