Class: MsgPacker::App

Inherits:
Object
  • Object
show all
Defined in:
lib/msgpacker/app.rb

Instance Method Summary collapse

Instance Method Details

#runObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/msgpacker/app.rb', line 5

def run
  options = {}
  OptionParser.new do |opts|
    opts.banner = "Usage: msgpacker [options]"
    opts.on("-d", "--decode", "decode msgpack to json") do |d|
      options[:decode] = d
    end
    opts.on("-n", "--newline", "appends a newline character for each JSON item") do |n|
      options[:newline] = n
    end
    opts.on("-p", "--pretty", "prettify JSON output") do |p|
      options[:pretty] = p
    end
  end.parse!
  coder = unless options[:decode]
    MsgPacker::Encoder
  else
    MsgPacker::Decoder
  end.new(options)
  STDOUT.sync = true
  coder.code(STDIN, STDOUT)
end