bin/hexify in emonti-rbkb-0.6.1.3 vs bin/hexify in emonti-rbkb-0.6.2

- old
+ new

@@ -1,85 +1,5 @@ #!/usr/bin/env ruby -# Author Eric Monti (emonti at matasano) -# -# hexify converts a string or raw data to hex characters. Input can be -# supplied via stdin, a string argument, or a file (with -f). -# -# Usage: hexify [options] <data | blank for stdin> -# -h, --help Show this message -# -v, --version Show version and exit -# -f, --file FILENAME Input from FILENAME -# -l, --length LEN Hexify in lines of LEN bytes -# -d, --delim=DELIMITER DELIMITER between each byte -# -p, --prefix=PREFIX PREFIX before each byte -# -s, --suffix=SUFFIX SUFFIX after each byte -# -require 'rbkb' -require 'rbkb/command_line' +require "rbkb/cli/hexify" -include RBkB::CommandLine - -#------------------------------------------------------------------------------ -# Init options and arg parsing -OPTS = {} -arg = bkb_stdargs(nil, OPTS) -arg = bkb_inputargs(arg, OPTS) - -arg.banner += " <data | blank for stdin>" - -#------------------------------------------------------------------------------ -# Add local options - -arg.on("-l", "--length LEN", Numeric, "Hexify in lines of LEN bytes") do |l| - bail("Length must be greater than zero") unless (OPTS[:len] = l) > 0 -end - -arg.on("-d", "--delim=DELIMITER", "DELIMITER between each byte") do |d| - OPTS[:delim] = d -end - -arg.on("-p", "--prefix=PREFIX", "PREFIX before each byte") do |p| - OPTS[:prefix] = p -end - -arg.on("-s", "--suffix=SUFFIX", "SUFFIX after each byte") do |s| - OPTS[:suffix] = s -end - - -#------------------------------------------------------------------------------ -# Parse arguments -arg.parse!(ARGV) rescue bail "Error: #{$!}\nUse -h|--help for more info." - -# original-style spacing compatability -if ARGV[0] == "+" and OPTS[:delim].nil? - OPTS[:delim]=" " - ARGV.shift -end - -# default string arg -if OPTS[:indat].nil? and a=ARGV.shift - OPTS[:indat] = a.dup -end - -# catchall -if ARGV.length != 0 - bail "Error: bad arguments - #{ARGV.join(' ')}\n-h|--help for more info." -end - -# Default to standard input -OPTS[:indat] ||= STDIN.read() - -#------------------------------------------------------------------------------ -# Do stuff - -indat = OPTS.delete(:indat) -len = OPTS.delete(:len) - -exit 1 unless((len ||= indat.length) > 0) - -until (m = indat.slice!(0..len-1)).empty? - print m.hexify(OPTS) - puts (OPTS[:delim] and not indat.empty?)? OPTS[:delim] : "\n" -end - +Rbkb::Cli::Hexify.run()