Class: TrueandcoAnalytics::Cli::Common

Inherits:
Object
  • Object
show all
Includes:
Modules::Info
Defined in:
lib/trueandco_analytics/console/cli/common.rb

Instance Method Summary collapse

Methods included from Modules::Info

#error_message, #info, #result

Constructor Details

#initialize(args) ⇒ Common

Returns a new instance of Common.



6
7
8
# File 'lib/trueandco_analytics/console/cli/common.rb', line 6

def initialize(args)
  @args = args
end

Instance Method Details

#executeObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/trueandco_analytics/console/cli/common.rb', line 10

def execute
  if args.empty?
    info(trans('help.need_help'))
    exit
  end
  unless args[0] =~ /^-/
    TrueandcoAnalytics::Cli::Report.new(args).execute
    exit
  end
  OptionParser.new do |opts|
    opts.banner = trans('help.need_help')

    opts.on_tail('-h', '--help', 'Help') do
      info(opts)
      info(trans('help.description').gsub('\n', "\n"))
    end
    opts.on_tail('-v', '--version', 'Version of gem') do
      info(trans('help.gem_version'))
      info(TrueandcoAnalytics::VERSION)
    end
    opts.on_tail('-r', '--reports', 'List names of reports') do
      info(TrueandcoAnalytics::Reports.available_reports)
    end
    opts.on_tail('-f', '--formats', 'List available formats of reports') do
      info(TrueandcoAnalytics::Reports.available_formats)
    end
    opts.parse!
  end
end