class ClientForPoslynx::FakePosTerminal::ResultAssemblers::CardSaleReceipt

Attributes

request[R]
response[R]
total_amount[R]

Public Class Methods

new(request, response, total_amount) click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 12
def initialize(request, response, total_amount)
  @request      = request
  @response     = response
  @total_amount = total_amount
end

Public Instance Methods

amount_usd() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 53
def amount_usd
  format_usd( request.amount )
end
call(copy) click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 18
def call(copy)
  copy_text = ('%s COPY' % copy).upcase
  [
    "Fancy Dancy Place                     ",
    "1313 Mockingbird Lane Kanata, ON      ",
    "Canada                                ",
    "(613)542-6019                         ",
    "                                      ",
    "TYPE             PURCHASE             ",
    "ACCOUNT TYPE     %-21s" % response.card_type,
    "CARD NUMBER      ************%s     " % response.card_number_last_4,
    "DATE/TIME        %s    " % date_time_text,
    "REC #            %-6s               " % response.record_number,
    "REFERENCE #      %-12s S       " % response.reference_data,
    "AMOUNT           %-21s" % amount_usd,
    cash_back_line,
    "                 --------------       ",
    "TOTAL            %-21s" % total_amount_usd,
    "                 --------------       ",
    "                                      ",
    "%-38s" % status_text,
    "                                      ",
    "IMPORTANT -- retain this copy for your",
    "records.                              ",
    "                                      ",
    "%-38s" % copy_text,
    "                                      ",
  ].compact
end
cash_back_applicable?() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 61
def cash_back_applicable?
  request.respond_to?(:cash_back)
end
cash_back_line() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 48
def cash_back_line
  return nil unless cash_back_applicable?
  "CASH BACK        %-21s" % cash_back_usd
end
cash_back_usd() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 65
def cash_back_usd
  format_usd( request.cash_back )
end
date_time_text() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 75
def date_time_text
  td = response.transaction_date
  tt = response.transaction_time
  '%s/%s/%s %s:%s:%s' % [
    td[0..1], td[2..3], td[4..5],
    tt[0..1], tt[2..3], tt[4..5],
  ]
end
status_text() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 69
def status_text
  response.error_code == '0000' ?
    'APPROVED - THANK YOU' :
    'TRANSACTION CANCELED'
end
total_amount_usd() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/result_assemblers/card_sale_receipt.rb, line 57
def total_amount_usd
  format_usd( total_amount )
end