module Core

Public Instance Methods

check_checksum(checksum, blocksize = nil) click to toggle source
# File lib/filerock/core.rb, line 55
def check_checksum(checksum, blocksize = nil)
        if(checksum.length == 32)
                if(blocksize.nil?)
                        checksum_MD5 = Digest::MD5.hexdigest(File.read(@sett[:file]))
                else
                        open(@sett[:file],"rb"){|file| checksum_MD5 = Digest::MD5.hexdigest(file.read(blocksize))}
                end
                if(checksum == checksum_MD5)
                        return true
                else
                        return false
                end
        elsif(checksum.length == 40)
                if(blocksize.nil?)
                        checksum_SHA1 = Digest::SHA1.hexdigest(File.read(@sett[:file]))
                else
                        open(@sett[:file],"rb"){|file| checksum_SHA1 = Digest::SHA1.hexdigest(file.read(blocksize))}
                end
                if(checksum == checksum_SHA1)
                        return true
                else
                        return false
                end
        elsif(checksum.length == 128)
                if(blocksize.nil?)
                        checksum_SHA512 = Digest::SHA512.hexdigest(File.read(@sett[:file]))
                else
                        open(@sett[:file],"rb"){|file| checksum_SHA512 = Digest::SHA512.hexdigest(file.read(blocksize))}
                end
                if(checksum == checksum_SHA512)
                        return true
                else
                        return false
                end
        else
                raise "Unknown Checksum Algorithm."
        end
end
create_checksum_MD5(blocksize = nil) click to toggle source
# File lib/filerock/core.rb, line 19
def create_checksum_MD5(blocksize = nil)
        if(blocksize.is_a? String)
                raise "Wrong method argument, You should send an integrer."
        end
        if(blocksize.nil?)
                checksum_MD5 = Digest::MD5.hexdigest(File.read(@sett[:file]))
                return checksum_MD5
        else
                open(@sett[:file],"rb"){|file| checksum_MD5 = Digest::MD5.hexdigest(file.read(blocksize))}
                return checksum_MD5
        end
end
create_checksum_SHA1(blocksize = nil) click to toggle source
# File lib/filerock/core.rb, line 31
def create_checksum_SHA1(blocksize = nil)
        if(blocksize.is_a? String)
                raise "Wrong method argument, You should send an integrer."
        end
        if(blocksize.nil?)
                checksum_SHA1 = Digest::SHA1.hexdigest(File.read(@sett[:file]))
                return checksum_SHA1
        else
                open(@sett[:file],"rb"){|file| checksum_SHA1 = Digest::SHA1.hexdigest(file.read(blocksize))}
                return checksum_SHA1
        end
end
create_checksum_SHA512(blocksize = nil) click to toggle source
# File lib/filerock/core.rb, line 43
def create_checksum_SHA512(blocksize = nil)
        if(blocksize.is_a? String)
                raise "Wrong method argument, You should send an integrer."
        end
        if(blocksize.nil?)
                checksum_SHA512 = Digest::SHA512.hexdigest(File.read(@sett[:file]))
                return checksum_SHA512
        else
                open(@sett[:file],"rb"){|file| checksum_SHA512 = Digest::SHA512.hexdigest(file.read(blocksize))}
                return checksum_SHA512
        end
end
header() click to toggle source
# File lib/filerock/core.rb, line 3
def header
        i = @sett[:size]
        head = Enc.tohex(IO.binread(@sett[:file]))[0..i]
                if(@sett[:space] =~ /ON/i)
                        head = head.gsub(/(.{2})(?=.)/, '\1 \2')
                end
        return head
end
inside_craving?() click to toggle source
# File lib/filerock/core.rb, line 112
def inside_craving?
        allinf = []
        i = 0
        typetestheadassci = IO.binread(@sett[:file])
                while(i < @header.size)
                        if(typetestheadassci =~ /#{@header[i]}/i)
                                allinf << @type[i]
                        end
                i += 1
                end
        i = 0
        typetestheadhex = Enc.tohex(IO.binread(@sett[:file]))
                while(i < @header.size)
                        if(typetestheadhex =~ /#{@hexhead[i]}/i)
                                allinf << @hextype[i]
                        end
                i += 1
                end
        allinf.delete(nil)
        return allinf
end
type?() click to toggle source
# File lib/filerock/core.rb, line 93
def type?
        i = 0
        typetestheadassci = IO.binread(@sett[:file])[0..50]
                while(i < @header.size)
                        if(typetestheadassci =~ /#{@header[i]}/i)
                                return @type[i]
                        end
                i += 1
                end
        i = 0
        typetestheadhex = Enc.tohex(IO.binread(@sett[:file]))[0..42]
                while(i < @header.size)
                        if(typetestheadhex =~ /#{@hexhead[i]}/i)
                                return @hextype[i]
                        end
                i += 1
                end
        return nil
end