class Shoot::CLI

Public Instance Methods

activate(*ids) click to toggle source
# File lib/shoot/cli.rb, line 58
def activate(*ids)
  return puts "No ids provided, e.g. 'activate 123'" if ids.empty?
  table Browser.activate(ids)
end
active() click to toggle source
# File lib/shoot/cli.rb, line 29
def active
  table Browser.active
end
deactivate(*ids) click to toggle source
# File lib/shoot/cli.rb, line 64
def deactivate(*ids)
  return puts "No ids provided, e.g. 'deactivate 123'" if ids.empty?
  table Browser.deactivate(ids)
end
deactivate_all() click to toggle source
# File lib/shoot/cli.rb, line 70
def deactivate_all
  Browser.deactivate_all
end
desc(command) click to toggle source
# File lib/shoot/cli.rb, line 87
def desc(command)
  CLI.commands[command.to_s].description rescue nil
end
elapsed_time() { || ... } click to toggle source
# File lib/shoot/cli.rb, line 82
def elapsed_time
  elapsed_time = Benchmark.measure { yield }
  print set_color "  (#{elapsed_time.real.to_i}s)\n", :blue
end
list(filter = nil) click to toggle source
# File lib/shoot/cli.rb, line 24
def list(filter = nil)
  table filter ? Browser.filter(filter) : Browser.all
end
open() click to toggle source
# File lib/shoot/cli.rb, line 19
def open
  `open #{Dir.glob(".screenshots/**/*.png").join(" ")}`
end
run(scenario, browser = nil) click to toggle source
# File lib/shoot/cli.rb, line 91
def run(scenario, browser = nil)
  runner = ScenarioRunner.new(scenario, browser)
  puts set_color runner.platform_name, :white, :bold
  runner.each_method do |method|
    print set_color "  ➥ #{runner.klass}##{method} ... ", :white, :bold
    error = nil

    elapsed_time do
      ok, error = runner.run(method)

      print ok ? set_color("OK", :green) : set_color("FAILED", :red)
    end
    puts set_color "    ⚠ #{error}", :red if error
  end

end
scenario(path, *browser_ids) click to toggle source
# File lib/shoot/cli.rb, line 34
def scenario(path, *browser_ids)
  scenarios = File.directory?(path) ? Dir.glob("#{path}/*.rb") : [path]

  browsers = browser_ids.empty? ? Browser.active : Browser.select_by_ids(browser_ids)
  elapsed_time do
    browsers.each do |browser|
      scenarios.each do |scenario|
        run scenario, browser
      end
    end
    print set_color("\nAll tests finished", :blue)
  end
end
test(path) click to toggle source
# File lib/shoot/cli.rb, line 49
def test(path)
  scenarios = File.directory?(path) ? Dir.glob("#{path}/*.rb") : [path]
  elapsed_time do
    scenarios.each{|scenario| run scenario }
    print set_color("\nAll tests finished", :blue)
  end
end
update() click to toggle source
# File lib/shoot/cli.rb, line 75
def update
  Browser.update_json
  list
end
version() click to toggle source
# File lib/shoot/cli.rb, line 14
def version
  puts Shoot::VERSION
end