class Suretax::Api::Response
Attributes
body[R]
client_tracking[R]
groups[R]
item_messages[R]
message[R]
status[R]
total_tax[R]
transaction[R]
Public Class Methods
new(response_body)
click to toggle source
# 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
Public Instance Methods
item_errors?()
click to toggle source
# File lib/suretax/api/response.rb, line 26 def item_errors? @status == "9001" end
success?()
click to toggle source
# File lib/suretax/api/response.rb, line 22 def success? @success end
Private Instance Methods
build_groups(response_body)
click to toggle source
# File lib/suretax/api/response.rb, line 32 def build_groups(response_body) @groups = [] if response_body["GroupList"].respond_to?(:map) @groups = response_body.fetch("GroupList").map do |group| Group.new(group) end end end
build_item_messages(response_body)
click to toggle source
# File lib/suretax/api/response.rb, line 41 def build_item_messages(response_body) @item_messages = Array(response_body.fetch("ItemMessages", [])).map do |item_message| ItemMessage.new(item_message) end end