diff options
-rwxr-xr-x | bin/sson | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/bin/sson b/bin/sson new file mode 100755 index 0000000..e24cd48 --- /dev/null +++ b/bin/sson @@ -0,0 +1,31 @@ +#!/usr/bin/env ruby + +$: << "../lib" +require 'sson' + +raw = false +if ARGV.first == "-r" + ARGV.shift + raw = true +end + +input = ARGF.read + +begin + case input[0] + when "{", "[", '"' + if raw + puts SSON.generate(JSON.parse(input)) + else + puts SSON.pretty_generate(JSON.parse(input)) + end + else + if raw + puts JSON.generate(SSON.parse(input)) + else + puts JSON.pretty_generate(SSON.parse(input)) + end + end +rescue SSON::SSONError, JSON::JSONError => e + abort "error: " + e.message +end |