class RPNCalculator::CLI
Attributes
input_processor[R]
input_stack[R]
io_interface[R]
Public Class Methods
new(io_interface, input_processor)
click to toggle source
# File lib/rpn-calculator/cli.rb, line 3 def initialize(io_interface, input_processor) @io_interface = io_interface @input_stack = [] @input_processor = input_processor end
Public Instance Methods
start()
click to toggle source
# File lib/rpn-calculator/cli.rb, line 9 def start while (input_expression = io_interface.read_input) processor_result = input_processor.process(input_expression, input_stack) if processor_result.valid? print_result_array(processor_result.result) @input_stack = processor_result.result else io_interface.display_output(processor_result.error) end end end
Private Instance Methods
print_result_array(result)
click to toggle source
# File lib/rpn-calculator/cli.rb, line 26 def print_result_array(result) io_interface.display_output(result.join(' ')) end