class Cucumber::Cli::Configuration
Attributes
Public Class Methods
Source
# File lib/cucumber/cli/configuration.rb, line 20 def initialize(out_stream = $stdout, error_stream = $stderr) @out_stream = out_stream @error_stream = error_stream @options = Options.new(@out_stream, @error_stream, default_profile: 'default') end
Public Instance Methods
Source
# File lib/cucumber/cli/configuration.rb, line 59 def dry_run? @options[:dry_run] end
Source
# File lib/cucumber/cli/configuration.rb, line 63 def expand? @options[:expand] end
Source
# File lib/cucumber/cli/configuration.rb, line 67 def fail_fast? @options[:fail_fast] end
Source
# File lib/cucumber/cli/configuration.rb, line 99 def filters @options.filters end
Source
# File lib/cucumber/cli/configuration.rb, line 103 def formats @options[:formats] end
Source
# File lib/cucumber/cli/configuration.rb, line 79 def log logger = Logger.new(@out_stream) logger.formatter = LogFormatter.new logger.level = Logger::INFO logger.level = Logger::DEBUG if verbose? logger end
Source
# File lib/cucumber/cli/configuration.rb, line 95 def name_regexps @options[:name_regexps] end
Source
# File lib/cucumber/cli/configuration.rb, line 26 def parse!(args) @args = args @options.parse!(args) arrange_formats raise("You can't use both --strict and --wip") if strict.strict? && wip? set_environment_variables end
Source
# File lib/cucumber/cli/configuration.rb, line 39 def randomize? @options[:order] == 'random' end
Source
# File lib/cucumber/cli/configuration.rb, line 71 def retry_attempts @options[:retry] end
Source
# File lib/cucumber/cli/configuration.rb, line 43 def seed Integer(@options[:seed] || rand(0xFFFF)) end
Source
# File lib/cucumber/cli/configuration.rb, line 75 def snippet_type @options[:snippet_type] || :cucumber_expression end
Source
# File lib/cucumber/cli/configuration.rb, line 91 def tag_expressions @options[:tag_expressions] end
Source
# File lib/cucumber/cli/configuration.rb, line 87 def tag_limits @options[:tag_limits] end
Source
# File lib/cucumber/cli/configuration.rb, line 111 def to_hash Hash(@options).merge(out_stream: @out_stream, error_stream: @error_stream, seed: seed) end
Source
# File lib/cucumber/cli/configuration.rb, line 35 def verbose? @options[:verbose] end
Private Instance Methods
Source
# File lib/cucumber/cli/configuration.rb, line 139 def add_default_formatter @options[:formats] << ['pretty', {}, @out_stream] end
Source
# File lib/cucumber/cli/configuration.rb, line 129 def arrange_formats add_default_formatter if needs_default_formatter? @options[:formats] = @options[:formats].sort_by do |f| f[2] == @out_stream ? -1 : 1 end @options[:formats].uniq! @options.check_formatter_stream_conflicts end
Source
# File lib/cucumber/cli/configuration.rb, line 147 def formatter_missing? @options[:formats].empty? end
Source
# File lib/cucumber/cli/configuration.rb, line 143 def needs_default_formatter? formatter_missing? || publish_only? end
Source
# File lib/cucumber/cli/configuration.rb, line 151 def publish_only? @options[:formats] .uniq .map { |formatter, _, stream| [formatter, stream] } .uniq .reject { |formatter, stream| formatter == 'message' && stream != @out_stream } .empty? end
Source
# File lib/cucumber/cli/configuration.rb, line 123 def set_environment_variables @options[:env_vars].each do |var, value| ENV[var] = value end end