digest-ed2k
Calculates ED2k hashes (duh).
Example
require 'digest/ed2k'
puts Digest::ED2k.file('path/to/file').hexdigest
# Object interface
ed2k = Digest::ED2k.new
File.open 'path/to/another/file' do |f|
while buf = f.read 4096
ed2k << buf
end
end
puts ed2k.hexdigest
begin
ed2k << ''
rescue ArgumentError
# can't add to ed2k hash after the digest has been obtained
ed2k.reset
# but it's okay after resetting
retry
end
puts ed2k.hexdigest