class Dotpretty::Runner
Attributes
output[RW]
parser[RW]
state_machine[RW]
Public Class Methods
new(reporter:)
click to toggle source
# File lib/dotpretty/runner.rb, line 8 def initialize(reporter:) self.parser = Dotpretty::Parser.new({ reporter: reporter }) self.state_machine = Dotpretty::StateMachine::StateMachineBuilder.build(parser) do state :waiting_for_build_to_start do transition :build_failed_to_start, :done, :build_failed_to_start transition :received_input_line, :determining_if_build_started end state :determining_if_build_started do on_entry :parse_prebuild_input transition :build_started, :build_in_progress, :build_started transition :build_did_not_start, :waiting_for_build_to_start end state :build_in_progress do transition :received_build_input, :parsing_build_input end state :parsing_build_input do on_entry :parse_build_input transition :build_completed, :ready_to_run_tests, :build_completed transition :build_failed, :reading_build_failure_details, :reset_build_failure_details transition :received_build_input, :build_in_progress end state :reading_build_failure_details do transition :received_build_failure_details, :reading_build_failure_details, :track_build_failure_details transition :end_of_input, :done, :report_failing_build end state :ready_to_run_tests do transition :received_input_line, :determining_if_tests_started end state :determining_if_tests_started do on_entry :determine_if_tests_started transition :tests_started, :waiting_for_test_input, :starting_tests transition :tests_did_not_start, :ready_to_run_tests end state :waiting_for_test_input do transition :test_input_received, :parsing_test_input end state :parsing_test_input do on_entry :parse_test_input transition :received_other_input, :waiting_for_test_input transition :test_failed, :waiting_for_failure_details, :reset_current_failing_test transition :test_passed, :waiting_for_test_input, :test_passed transition :test_skipped, :waiting_for_test_input, :test_skipped transition :tests_completed, :done, :show_test_summary end state :waiting_for_failure_details do transition :received_failure_details, :reading_failure_details end state :reading_failure_details do on_entry :parse_failure_line transition :done_reading_failure, :parsing_test_input, :report_failing_test transition :received_failure_output, :waiting_for_failure_details, :track_failure_details end state :parsing_failure_line do on_entry :parse_failure_line transition :received_failure_output, :reading_failure_details, :track_failure_details transition :tests_completed, :done, :show_test_summary end end parser.state_machine = state_machine end
Public Instance Methods
done_with_input()
click to toggle source
# File lib/dotpretty/runner.rb, line 73 def done_with_input parser.handle_end_of_input end
input_received(input_line)
click to toggle source
# File lib/dotpretty/runner.rb, line 69 def input_received(input_line) parser.parse_line(input_line) end