Sha256: a9bb1704effd9315e79b073245f4d82fd9e0c7e1cf98d22d31b146efd87c1455
Contents?: true
Size: 1.31 KB
Versions: 4
Compression:
Stored size: 1.31 KB
Contents
require 'hypercuke/cli/parser' require 'hypercuke/cli/builder' module Hypercuke class CLI def self.exec(argv, opts = {}) cli = new(argv, opts[:output_to]) cli.run! end # NB: .bundler_present? is not covered by tests, because I can't # think of a reasonable way to test it. PRs welcome. :) def self.bundler_present? !! (`which bundle` =~ /\wbundle\w/) # parens are significant end def initialize(argv, output = nil, environment = ENV, kernel = Kernel) @argv = argv @output = output @environment = environment @kernel = kernel end def run! output && output.puts(cucumber_command_for_display) new_env = environment.to_hash.merge({ Hypercuke::LAYER_NAME_ENV_VAR => layer_name }) kernel.exec new_env, cucumber_command end def layer_name parser.layer_name end def cucumber_command builder.cucumber_command_line(self.class.bundler_present?) end def cucumber_command_for_display "HYPERCUKE_LAYER=#{layer_name} #{cucumber_command}" end private attr_reader :argv, :output, :environment, :kernel def parser @parser ||= Hypercuke::CLI::Parser.new(argv) end def builder @builder ||= Hypercuke::CLI::Builder.new(parser.options) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
hypercuke-0.5.2 | lib/hypercuke/cli.rb |
hypercuke-0.5.1 | lib/hypercuke/cli.rb |
hypercuke-0.5.0 | lib/hypercuke/cli.rb |
hypercuke-0.4.1 | lib/hypercuke/cli.rb |