class MetricFu::Cli::Helper

Public Class Methods

new() click to toggle source
# File lib/metric_fu/cli/helper.rb, line 14
def initialize
  @metric_fu = MetricFu::Run.new
end

Public Instance Methods

banner() click to toggle source
executable_name() click to toggle source
# File lib/metric_fu/cli/helper.rb, line 43
def executable_name
  "metric_fu"
end
metrics() click to toggle source
# File lib/metric_fu/cli/helper.rb, line 47
def metrics
  MetricFu::Metric.metrics.map(&:name).sort_by(&:to_s)
end
process_options(argv = []) click to toggle source
# File lib/metric_fu/cli/helper.rb, line 51
def process_options(argv = [])
  options = MetricFu::Cli::MicroOptParse::Parser.new do |p|
    p.banner = banner
    p.version = version
    p.option :run, "Run all metrics with defaults", default: true
    metrics.each do |metric|
      p.option metric.to_sym, "Enables or disables #{metric}", default: true # , :value_in_set => [true, false]
    end
    p.option :open, "Open report in browser (if supported by formatter)", default: true
  end.process!(argv)
  options
end
run(options = {}) click to toggle source
# File lib/metric_fu/cli/helper.rb, line 18
def run(options = {})
  @metric_fu.run(options)
  complete
end
shutdown() click to toggle source
# File lib/metric_fu/cli/helper.rb, line 27
def shutdown
  out "\nShutting down. Bye"
  MetricFu::Cli.immediate_shutdown!
end
usage() click to toggle source
# File lib/metric_fu/cli/helper.rb, line 36
      def usage
        <<-EOS
        #{banner}
        Use --help for help
        EOS
      end
version() click to toggle source
# File lib/metric_fu/cli/helper.rb, line 23
def version
  MetricFu::VERSION
end

Private Instance Methods

complete() click to toggle source
# File lib/metric_fu/cli/helper.rb, line 74
def complete
  out "all done"
  MetricFu::Cli.complete!
end
error(text) click to toggle source
# File lib/metric_fu/cli/helper.rb, line 70
def error(text)
  STDERR.puts text
end
out(text) click to toggle source
# File lib/metric_fu/cli/helper.rb, line 66
def out(text)
  STDOUT.puts text
end