class Decko::Commands::CucumberCommand

Public Class Methods

new(args) click to toggle source
# File lib/decko/commands/cucumber_command.rb, line 11
def initialize args
  @decko_args, @cucumber_args = split_args args
  @opts = {}
  Parser.new(@opts).parse!(@decko_args)
end

Public Instance Methods

command() click to toggle source
# File lib/decko/commands/cucumber_command.rb, line 17
def command
  @cmd ||=
    "#{env_args} #{@opts[:executer] || 'bundle exec'} " \
    "cucumber #{require_args} #{feature_args}"
end

Private Instance Methods

env_args() click to toggle source
# File lib/decko/commands/cucumber_command.rb, line 25
def env_args
  @opts[:env].join " "
end
feature_args() click to toggle source
# File lib/decko/commands/cucumber_command.rb, line 29
def feature_args
  if @cucumber_args.empty?
    feature_paths.join(" ")
  else
    @cucumber_args.shelljoin
  end
end
feature_paths() click to toggle source
# File lib/decko/commands/cucumber_command.rb, line 42
def feature_paths
  Cardio::Mod.dirs.map do |p|
    Dir.glob "#{p}/features"
  end.flatten
end
require_args() click to toggle source
# File lib/decko/commands/cucumber_command.rb, line 37
def require_args
  "-r #{Decko.gem_root}/features " +
    feature_paths.map { |path| "-r #{path}" }.join(" ")
end