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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/tailstrom/option_parser.rb', line 27
def generate_parser
::OptionParser.new do |opt|
opt.banner = <<-END
tail -f access.log | #{$0} [OPTIONS]
#{$0} [OPTIONS] [file]
END
opt.on('-c file', '--config file', String, 'config file') do |v|
@options_from_file = load_config v
end
opt.on('-f num_or_string', '--value num_or_string', String, 'value field') do |v|
@options[:value] = num_or_string v
end
opt.on('-k num_or_string', '--key num_or_string', String, 'key field') do |v|
@options[:key] = num_or_string v
end
opt.on('-d delimiter', String, 'delimiter') do |v|
@options[:delimiter] = v
end
opt.on('-i interval', Integer, 'interval for stat mode') do |v|
@options[:interval] = v
end
opt.on('-e file_or_string', '--in-filter file_or_string', String, 'input filtering') do |v|
@options[:in_filter] = file_or_string v
end
opt.on('--map file_or_string', String, 'input mapping') do |v|
@options[:map] = file_or_string v
end
opt.on('--out-filter file_or_string', String, 'output filtering') do |v|
@options[:out_filter] = file_or_string v
end
opt.on('--sort file_or_string', String, 'output sorting') do |v|
@options[:sort] = file_or_string v
end
opt.on('--order desc|asc', String, 'sorting order (default=desc)') do |v|
@options[:order] = v.to_s.downcase == 'asc' ? :asc : :desc
end
opt.on('--stat', 'statistics mode (default)') do
@options[:mode] = :stat
end
opt.on('--print', 'print line mode') do
@options[:mode] = :print
end
opt.on('--version', 'show version') do
require 'tailstrom/version'
puts Tailstrom::VERSION
exit 0
end
end
end
|