class RspecPreloader::SpecRunner

Public Class Methods

new(rspec_arguments_array, std_err, std_out) click to toggle source
# File lib/rspec_preloader/spec_runner.rb, line 11
def initialize(rspec_arguments_array, std_err, std_out)
  @rspec_arguments = rspec_arguments_array
  @std_err = std_err
  @std_out = std_out
end
run_rspec(rspec_arguments_array, std_err = STDERR, std_out = STDOUT) click to toggle source
# File lib/rspec_preloader/spec_runner.rb, line 7
def self.run_rspec(rspec_arguments_array, std_err = STDERR, std_out = STDOUT)
  new(rspec_arguments_array, std_err, std_out).run_rspec
end

Public Instance Methods

run_rspec() click to toggle source
# File lib/rspec_preloader/spec_runner.rb, line 17
def run_rspec
  pid = fork do
    load_updated_files
    run_specs(@rspec_arguments)
  end
  Process.wait(pid)
end

Private Instance Methods

load_updated_files() click to toggle source
# File lib/rspec_preloader/spec_runner.rb, line 27
def load_updated_files
  FileSelector.updated_source_files.each do |file|
    load file
  end
end
run_specs(arguments_array) click to toggle source
# File lib/rspec_preloader/spec_runner.rb, line 33
def run_specs(arguments_array)
  RSpec::Core::Runner.run(arguments_array, @std_err, @std_out)
end