Class: RPNCalculator::OperationProcessor
- Inherits:
-
Object
- Object
- RPNCalculator::OperationProcessor
- Defined in:
- lib/rpn-calculator/operation_processor.rb
Instance Method Summary collapse
-
#initialize(operation_classes, input_validator, input_parser) ⇒ OperationProcessor
constructor
A new instance of OperationProcessor.
-
#process(previous_operations, input) ⇒ Object
Refator needed, process should receive parsed input.
Constructor Details
#initialize(operation_classes, input_validator, input_parser) ⇒ OperationProcessor
Returns a new instance of OperationProcessor.
3 4 5 6 7 8 |
# File 'lib/rpn-calculator/operation_processor.rb', line 3 def initialize(operation_classes, input_validator, input_parser) @input_validator = input_validator @input_parser = input_parser @operation_classes = operation_classes @operation_symbols = @operation_classes.keys end |
Instance Method Details
#process(previous_operations, input) ⇒ Object
Refator needed, process should receive parsed input
11 12 13 14 15 16 17 18 19 |
# File 'lib/rpn-calculator/operation_processor.rb', line 11 def process(previous_operations, input) validator_result = input_validator.validate(input) return Result::Processor.new([], validator_result.error) unless validator_result.valid? parser_result = input_parser.parse(input) return Result::Processor.new([], parser_result.error) unless parser_result.valid? process_operations(previous_operations + parser_result.parsed_elements) end |