Class: TaskJuggler::Tj3Man

Inherits:
Tj3AppBase show all
Defined in:
lib/taskjuggler/apps/Tj3Man.rb

Instance Method Summary collapse

Methods inherited from Tj3AppBase

#main

Methods included from MessageHandler

#critical, #debug, #error, #fatal, #info, #warning

Constructor Details

#initializeTj3Man



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/taskjuggler/apps/Tj3Man.rb', line 25

def initialize
  super

  @man = SyntaxReference.new
  @keywords = TernarySearchTree.new(@man.all)
  @manual = false
  @showHtml = false
  @browser = ENV['BROWSER'] || 'firefox'
  @directory = './'
  @mininumRubyVersion = '1.8.7'
end

Instance Method Details

#appMain(requestedKeywords) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/taskjuggler/apps/Tj3Man.rb', line 66

def appMain(requestedKeywords)
  if @manual
    UserManual.new.generate(@directory)
  elsif requestedKeywords.empty?
    showManual
  else
    requestedKeywords.each do |keyword|
      if (kws = @keywords[keyword, true]).nil?
        error('tj3man_no_matches', "No matches found for '#{keyword}'")
      elsif kws.length == 1 || kws.include?(keyword)
        showManual(keyword)
      else
        warning('tj3man_multi_match',
                "Multiple matches found for '#{keyword}':\n" +
                "#{kws.join(', ')}")
      end
    end
  end

  0
end

#processArguments(argv) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/taskjuggler/apps/Tj3Man.rb', line 37

def processArguments(argv)
  super do
    @opts.banner += "This program can be used to generate the user manual in HTML format or to get\na textual help for individual keywords.\n"
    @opts.on('-d', '--dir <directory>', String,
            format('directory to put the manual')) do |dir|
      @directory = dir
    end
    @opts.on('--html',
             format('Show the user manual in your local web browser. ' +
                    'By default, Firefox is used or the brower specified ' +
                    'with the $BROWSER environment variable.')) do
      @showHtml = true
    end
    @opts.on('--browser <command>', String,
             format('Specify the command to start your web browser. ' +
                    'The default is \'firefox\'.')) do |browser|
      @browser = browser
    end
    @opts.on('-m', '--manual',
            format('Generate the user manual into the current directory ' +
                   'or the directory specified with the -d option.')) do
      @manual = true
    end
  end
end