4
5
6
7
8
9
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
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/timmy/option_parser.rb', line 4
def parse
options = {
replay: nil,
profile: false,
logger_output_directory: nil,
logger_precision: nil
}
::OptionParser.new do |parser|
parser.banner = "\\e[1mtimmy\\e[0m -- time execution of commands and their stages based on console output\n\n\\e[33mUsage:\\e[0m\n\nPipe output from arbitrary command:\n\n \\e[36m[COMMAND] | timmy [OPTIONS]\\e[0m\n\nRun without a pipe (usually with --replay):\n\n \\e[36mtimmy [OPTIONS]\\e[0m\n"
parser.separator ""
parser.separator "\e[33mOptions:\e[0m"
parser.separator ""
parser.on("-r LOG", "--replay LOG", "Replay specific log file") do |replay|
options[:replay] = replay
end
parser.on("-p", "--profile", "Profile targeted timers") do |profile|
options[:profile] = profile
end
parser.on("--logger-output-dir DIR", "Save logs to different directory (default: \"/tmp\")") do |logger_output_directory|
options[:logger_output_directory] = logger_output_directory
end
parser.on("--logger-precision NUM", Integer, "Set precision used when printing time (default: 0)") do |logger_precision|
options[:logger_precision] = logger_precision
end
parser.separator ""
end.parse!
options
end
|