class ClientForPoslynx::FakePosTerminal::ConsoleUserInterface::RequestProcessors::PinPadDisplaySpecifiedFormProcessor

Public Instance Methods

call() click to toggle source

TODO: Handle simpulated signature? TODO: Handle long text?

# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/pin_pad_display_specified_form_processor.rb, line 12
def call
  if has_buttons?
    show_message_with_buttons text_values, request.button_labels
    fetch_button_selection request.button_labels, method( :respond_with_selected_button )
  else
    show_message text_values
    respond_with_no_buttons
  end
end

Private Instance Methods

has_buttons?() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/pin_pad_display_specified_form_processor.rb, line 24
def has_buttons?
  ! Array( request.button_labels ).empty?
end
respond_with_no_buttons() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/pin_pad_display_specified_form_processor.rb, line 34
def respond_with_no_buttons
  set_result '0000', 'Success', 'Success'
  response.button_response = "No Buttons"
  respond
end
respond_with_selected_button( button_label ) click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/pin_pad_display_specified_form_processor.rb, line 28
def respond_with_selected_button( button_label )
  set_result '0000', 'Success', 'Success'
  response.button_response = button_label
  respond
end
text_values() click to toggle source
# File lib/client_for_poslynx/fake_pos_terminal/console_user_interface/request_processors/pin_pad_display_specified_form_processor.rb, line 40
def text_values
  if request.text_values.length > 1
    request.text_values.each_with_index.map{ |text, idx|
      value_num = idx + 1
      't%d : %s' % [value_num, text]
    }
  else
    request.text_values
  end
end