Sha256: 8423d85a81b3f1a096abe0908eeee7119f5a02c77a5795bc199c87ae287889d7
Contents?: true
Size: 801 Bytes
Versions: 3
Compression:
Stored size: 801 Bytes
Contents
require 'rbkb/cli' # Copyright 2009 emonti at matasano.com # See README.rdoc for license information # # crc32 returns a crc32 checksum in hex from stdin or a file class Rbkb::Cli::Crc32 < Rbkb::Cli::Executable def initialize(*args) super(*args) @opts[:first] ||= 0 @opts[:last] ||= -1 end def make_parser() arg = super() arg.banner += " [filename]" add_std_file_opt(:indat) add_range_opts(:first, :last) end def parse(*args) super(*args) parse_file_argument(:indat) parse_catchall() end def go(*args) super(*args) @opts[:indat] ||= @stdin.read() dat = opts[:indat].force_to_binary dat = dat[ @opts[:first] .. @opts[:last] ] dat ||= "" @stdout.puts( "%0.8x" % dat.force_to_binary.crc32 ) self.exit(0) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rbkb-0.7.2 | lib/rbkb/cli/crc32.rb |
rbkb-0.7.1 | lib/rbkb/cli/crc32.rb |
rbkb-0.7.0 | lib/rbkb/cli/crc32.rb |