Class: Cucumber::Rake::ForkedCucumberRunner
- Inherits:
-
Object
- Object
- Cucumber::Rake::ForkedCucumberRunner
- Includes:
- Rake::DSL
- Defined in:
- lib/cucumber/rake/forked_cucumber_runner.rb
Overview
:nodoc:
Instance Method Summary collapse
- #bundler_gem_available? ⇒ Boolean
- #cmd ⇒ Object
-
#initialize(libs, cucumber_bin, cucumber_opts, bundler, feature_files) ⇒ ForkedCucumberRunner
constructor
A new instance of ForkedCucumberRunner.
- #load_path ⇒ Object
- #quoted_binary(cucumber_bin) ⇒ Object
- #run ⇒ Object
- #use_bundler ⇒ Object
Constructor Details
#initialize(libs, cucumber_bin, cucumber_opts, bundler, feature_files) ⇒ ForkedCucumberRunner
Returns a new instance of ForkedCucumberRunner.
10 11 12 13 14 15 16 |
# File 'lib/cucumber/rake/forked_cucumber_runner.rb', line 10 def initialize(libs, cucumber_bin, cucumber_opts, bundler, feature_files) @libs = libs @cucumber_bin = cucumber_bin @cucumber_opts = cucumber_opts @bundler = bundler @feature_files = feature_files end |
Instance Method Details
#bundler_gem_available? ⇒ Boolean
30 31 32 33 34 |
# File 'lib/cucumber/rake/forked_cucumber_runner.rb', line 30 def bundler_gem_available? Gem::Specification.find_by_name('bundler') rescue Gem::LoadError false end |
#cmd ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/cucumber/rake/forked_cucumber_runner.rb', line 36 def cmd if use_bundler [ Cucumber::RUBY_BINARY, '-S', 'bundle', 'exec', 'cucumber', @cucumber_opts, @feature_files ].flatten else [ Cucumber::RUBY_BINARY, '-I', load_path, quoted_binary(@cucumber_bin), @cucumber_opts, @feature_files ].flatten end end |
#load_path ⇒ Object
18 19 20 |
# File 'lib/cucumber/rake/forked_cucumber_runner.rb', line 18 def load_path [format('"%<path>s"', path: @libs.join(File::PATH_SEPARATOR))] end |
#quoted_binary(cucumber_bin) ⇒ Object
22 23 24 |
# File 'lib/cucumber/rake/forked_cucumber_runner.rb', line 22 def quoted_binary(cucumber_bin) [format('"%<path>s"', path: cucumber_bin)] end |
#run ⇒ Object
50 51 52 53 54 |
# File 'lib/cucumber/rake/forked_cucumber_runner.rb', line 50 def run sh cmd.join(' ') do |ok, res| exit res.exitstatus unless ok end end |
#use_bundler ⇒ Object
26 27 28 |
# File 'lib/cucumber/rake/forked_cucumber_runner.rb', line 26 def use_bundler @bundler.nil? ? File.exist?('./Gemfile') && bundler_gem_available? : @bundler end |