class ClientForPoslynx::FakePosTerminal::ConsoleUserInterface::RequestProcessors::CreditCardSaleProcessor

Public Instance Methods

apply_request_response_passthrough() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/credit_card_sale_processor.rb, line 34
def apply_request_response_passthrough
  response.merchant_supplied_id = request.merchant_supplied_id
  response.client_id            = request.client_id
end
apply_signature_image_data() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/credit_card_sale_processor.rb, line 53
def apply_signature_image_data
  response.signature_image = signature_image
end
call() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/credit_card_sale_processor.rb, line 11
def call
  fetch_card_swipe ->() {
    fetch_sale_confirmation(
      ->() {
        if request.capture_signature == 'Yes'
          fetch_signature method(:respond_with_success)
        else
          respond_with_success
        end
      },
      method( :respond_with_cancelled )
    )
  }
end
fetch_signature(after) click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/credit_card_sale_processor.rb, line 39
def fetch_signature(after)
  display_signature_entry_box
  puts
  print "Press enter to simulate entering a signature: "
  UserRawTextLineFetcher.new(
    ui_context,
    ->(entry) { true },
    ->(entry) {
      apply_signature_image_data
      after.call
    }
  ).call
end
signature_image() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/credit_card_sale_processor.rb, line 57
def signature_image
  SignatureImage.new.tap { |si|
    si.metrics = SignatureImage::Metrics.new( [2048, 256], [20_000, 2_500] )

    # Say "Hi"

    si.move 40, 40
    si.draw -5, 30
    si.draw -5, 30

    si.move 70, 40
    si.draw -5, 30
    si.draw -5, 30

    si.move 35, 70
    si.draw 30,  0


    si.move 80, 70
    si.draw -5, 30

    si.move 81, 64
  }
end
total_amount() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/credit_card_sale_processor.rb, line 30
def total_amount
  request.amount
end
use_card_type() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/credit_card_sale_processor.rb, line 26
def use_card_type
  'Visa'
end