Sha256: dfafdd59b59624897792ed6a5602cfa54b6486669c26e987b30cdc7d517f9714
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
require 'digest/sha2' require 'ftools' require 'fileutils' class Archive def initialize folder @folder = folder end def self.file_key filename file_h = Digest::SHA2.new File.open(filename, 'r') do |fh| while buffer = fh.read(1024) file_h << buffer end end file_h end def self.hash_key hash Digest::SHA2.new << hash.to_yaml end def get_key params self.class.hash_key params end def has? params key = get_key params File.exists? @folder+'/'+key.to_s end def put params, file key = get_key params File.copy @folder+'/'+file, key.to_s end def get params, file key = get_key params if File.exists? @folder+'/'+key.to_s File.copy @folder+'/'+key.to_s, file else raise 'No such file' end end end =begin arch = Archive.new '.' template = Archive.file_key('text.txt') data = {'a' => 'b'} ar = Archive.new '.' ar.put({:data => data, :template => template}, 'generated.txt') #data['a']='a' ar.get({:data => data, :template => template}, 'on.txt') =end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
documenter-0.0.5 | lib/Archive.rb |