bin/tailstrom in tailstrom-0.0.1 vs bin/tailstrom in tailstrom-0.0.2

- old
+ new

@@ -1,6 +1,23 @@ #!/usr/bin/env ruby -$: << File.expand_path('../../lib', __FILE__) +require 'optparse' -require 'tailstrom/command/stat' -cmd = Tailstrom::Command::Stat.new(ARGV) +options = { + :delimiter => "\t", + :interval => 1, + :mode => :stat +} +OptionParser.new(ARGV) {|opt| + opt.banner = "tail -f access.log | #{$0} <OPTIONS>" + opt.on('-f [field]', Integer, 'value field') {|v| options[:field] = v - 1 } + opt.on('-d [delimiter]', String) {|v| options[:delimiter] = v } + opt.on('-i [interval]', Integer, 'interval for stat mode') {|v| options[:interval] = v } + opt.on('-e [filter]', String) {|v| options[:filter] = v } + opt.on('--stat', 'statistics mode (default)') { options[:mode] = :stat } + opt.on('--print', 'print line mode') { options[:mode] = :print } +}.parse! + +$: << File.expand_path('../../lib', __FILE__) +require "tailstrom/command/#{options[:mode]}" +cls = Module.const_get "Tailstrom::Command::#{options[:mode].capitalize}" +cmd = cls.new options cmd.run