Sha256: a8344ae7430a936e57112b8cc4817ac2548a3596e3f6d377caaeacf6e8a8b82c

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

#
# Bolt::Runner
#
# The Runner maps the changed file to the appropriate test file and runs it
#
module Bolt
  class Runner
    attr_accessor :selected, :notifier
    
    # Constructor
    def initialize 
      # find appropriate runner
      runner
      
      $stdout.puts "** Using #{selected.class} \n" if Bolt['verbose']
    end
    
    # Pick a listener to launch
    def runner
      return selected if selected
      
      if Bolt['runner'] and ['test_unit', 'rspec', 'cucumber'].include?(Bolt['runner'])
        self.selected= Bolt::Runners::TestUnit.new if Bolt['runner'] == 'test_unit'
        self.selected= Bolt::Runners::RSpec.new if Bolt['runner'] == 'rspec'
        self.selected= Bolt::Runners::Cucumber.new if Bolt['runner'] == 'cucumber'
        $stdout.puts "** Found 'runner' setting in .bolt" if Bolt['verbose']
        return self.selected
      end
      $stdout.puts "** Determining runner... \n" if Bolt['verbose']
      self.selected= Bolt::Runners::TestUnit.new
      self.selected= Bolt::Runners::RSpec.new  if File.directory?('spec')
      self.selected
    end
    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
marcinbunsch-bolt-0.2.4 lib/bolt/runner.rb
marcinbunsch-bolt-0.2.5 lib/bolt/runner.rb
marcinbunsch-bolt-0.2.6 lib/bolt/runner.rb