Skip to content

Instantly share code, notes, and snippets.

@Poincare
Created July 24, 2012 09:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Poincare/3169115 to your computer and use it in GitHub Desktop.
Save Poincare/3169115 to your computer and use it in GitHub Desktop.
require 'celluloid'
require 'digest/sha1'
class SHAPutter
include Celluloid
def initialize(filename)
@filename = filename
end
def output(checksum_future)
puts "#{@filename} - #{checksum_future.value}"
end
def checksum
@file_contents = File.read(@filename)
Digest::SHA1.hexdigest @file_contents
end
end
files = ["/var/log/kernel.log", "/var/log/system.log", "/var/log/ppp.log", "/var/log/secure.log"]
files.each do |file|
sha = SHAPutter.new file
checksum_future = sha.future :checksum
sha.output checksum_future
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment