class Flaky::CLI
Constants
- DEFAULT_OPTIONS
Public Instance Methods
run(argv)
click to toggle source
# File lib/rspec/flaky/cli.rb, line 14 def run argv locations = get_location(argv) unless argv.any?{|arg| arg == '-h' || arg == '--help'} options = parse_options(argv).reverse_merge(DEFAULT_OPTIONS) options[:rspec_options] = extract_rspec_options argv RSpec::Flaky.run_spec(locations, options) end
Private Instance Methods
extract_rspec_options(argv)
click to toggle source
# File lib/rspec/flaky/cli.rb, line 57 def extract_rspec_options argv idx = argv.index('--') || -1 rspec_options = argv[idx+1..-1] return if rspec_options.empty? rspec_options.compact.join(' ') end
get_location(argv)
click to toggle source
# File lib/rspec/flaky/cli.rb, line 23 def get_location(argv) first_arg = argv.shift raise 'You need to specify location first' unless Pathname.new(first_arg.split(":").first).exist? return first_arg end
parse_options(argv)
click to toggle source
# File lib/rspec/flaky/cli.rb, line 30 def parse_options argv options = {} OptionParser.new do |opts| opts.banner = "Usage: rspec-flaky path/to/flaky_spec.rb:12 [options] -- [rspec options]" opts.on("-i", "--iterations [NUMBER]", Integer, "Execute spec a given number of times") do |v| options[:iterations] = v end opts.on("--silent", "Silent mode (no output)") do |v| options[:silent] = v end opts.on("-j", "--jsons", "Save pointed models attributes") do |v| options[:save_jsons] = v end opts.on("-d", "--dump", "Dump database to sql-file after each example") do |v| options[:dump_db] = v end opts.on('-h', '--help', 'Displays Help') do puts opts exit end end.parse!(argv) options end