Class: Spec::Runner::CommandLine

Inherits:
Object
  • Object
show all
Defined in:
lib/spec/runner/command_line.rb

Overview

Facade to run specs without having to fork a new ruby process (using ‘spec …`)

Class Method Summary collapse

Class Method Details

.run(argv, err, out, exit = true, warn_if_no_files = true) ⇒ Object

Runs specs. argv is the commandline args as per the spec commandline API, err and out are the streams output will be written to. exit tells whether or not a system exit should be called after the specs are run and warn_if_no_files tells whether or not a warning (the help message) should be printed to err in case no files are specified.



12
13
14
15
16
17
18
19
# File 'lib/spec/runner/command_line.rb', line 12

def self.run(argv, err, out, exit=true, warn_if_no_files=true)
  old_behaviour_runner = defined?($behaviour_runner) ? $behaviour_runner : nil
  $behaviour_runner = OptionParser.new.create_behaviour_runner(argv, err, out, warn_if_no_files)
  return if $behaviour_runner.nil? # This is the case if we use --drb

  $behaviour_runner.run(argv, exit)
  $behaviour_runner = old_behaviour_runner
end