Sha256: 057337919e538f80559edfb3afab394a7ccc3423832a5af614efc90c9c28a9a0

Contents?: true

Size: 1.62 KB

Versions: 1

Compression:

Stored size: 1.62 KB

Contents

#!/usr/bin/env ruby
# Is there a better way to detect Rails?
if File.exist?("config/boot.rb") && File.exist?("config/environment.rb")
  require "config/environment"
else
  path = File.expand_path("../lib", File.dirname(__FILE__))
  $LOAD_PATH.unshift path unless $LOAD_PATH.include?(path)
  require "vanity"
end

require "optparse"

playground = Vanity.playground
options = Struct.new(:output).new
opts = OptionParser.new("", 24, "  ") do |opts|
  opts.banner = "Usage: #{File.basename($0)} [options] command\n"
  opts.banner << "Commands:\n"
  opts.banner << "  list    List all experiments and metrics\n"
  opts.banner << "  report  Report on all running experiments/metrics\n"

  opts.separator ""
  opts.separator "Reporting options:"
  opts.on "--output FILE", "Write report to this file (default: stdout)" do |path|
    options.output = path
  end

  opts.separator ""
  opts.separator "Common options:"
  opts.on "--load_path PATH", "Path to experiments directory (default: #{playground.load_path})" do |path|
    playground.load_path = path
  end
  opts.on "--redis HOST:PORT:DB", "Redis server host (default: localhost:6379)" do |redis|
    playground.redis = redis
  end
  opts.on_tail "-h", "--help", "Show this message" do
    puts opts.to_s.gsub(/^.*DEPRECATED.*$/s, '')
    exit
  end
  opts.on_tail "-v", "--version", "Show version"  do
    puts "Vanity #{Vanity::Version::STRING}"
    exit
  end
end

opts.parse!(ARGV)
if ARGV.empty?
  puts opts.banner
  exit
end

ARGV.each do |cmd|
  case cmd
  when "report";  Vanity::Commands.report options.output
  when "list";    Vanity::Commands.list
  else fail "No such command: #{cmd}"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vanity-1.3.0 bin/vanity