Class: RPNCalculator::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/rpn-calculator/cli.rb

Instance Method Summary collapse

Constructor Details

#initialize(io_interface, input_processor) ⇒ CLI

Returns a new instance of CLI.



3
4
5
6
7
# 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

Instance Method Details

#startObject



9
10
11
12
13
14
15
16
17
18
19
20
# 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