Class: Cucumber::Cli::Main
Class Method Summary collapse
Instance Method Summary collapse
- #configuration ⇒ Object
- #execute!(step_mother) ⇒ Object
-
#initialize(args, out_stream = STDOUT, error_stream = STDERR) ⇒ Main
constructor
A new instance of Main.
- #load_plain_text_features ⇒ Object
Constructor Details
#initialize(args, out_stream = STDOUT, error_stream = STDERR) ⇒ Main
Returns a new instance of Main.
24 25 26 27 28 |
# File 'lib/cucumber/cli/main.rb', line 24 def initialize(args, out_stream = STDOUT, error_stream = STDERR) @args = args @out_stream = out_stream == STDOUT ? Formatter::ColorIO.new : out_stream @error_stream = error_stream end |
Class Method Details
.execute(args) ⇒ Object
19 20 21 |
# File 'lib/cucumber/cli/main.rb', line 19 def execute(args) new(args).execute!(@step_mother) end |
.step_mother=(step_mother) ⇒ Object
13 14 15 16 17 |
# File 'lib/cucumber/cli/main.rb', line 13 def step_mother=(step_mother) @step_mother = step_mother @step_mother.extend(StepMother) @step_mother.snippet_generator = StepDefinition end |
Instance Method Details
#configuration ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/cucumber/cli/main.rb', line 65 def configuration return @configuration if @configuration @configuration = Configuration.new(@out_stream, @error_stream) @configuration.parse!(@args) @configuration end |
#execute!(step_mother) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/cucumber/cli/main.rb', line 30 def execute!(step_mother) configuration.load_language step_mother. = configuration. require_files enable_diffing features = load_plain_text_features visitor = configuration.build_formatter_broadcaster(step_mother) step_mother.visitor = visitor # Needed to support World#announce visitor.visit_features(features) failure = step_mother.steps(:failed).any? || (configuration.strict? && step_mother.steps(:undefined).any?) Kernel.exit(failure ? 1 : 0) end |
#load_plain_text_features ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/cucumber/cli/main.rb', line 49 def load_plain_text_features features = Ast::Features.new parser = Parser::FeatureParser.new verbose_log("Features:") configuration.feature_files.each do |f| feature = parser.parse_file(f, configuration.) if feature features.add_feature(feature) verbose_log(" * #{f}") end end verbose_log("\n"*2) features end |