Sha256: 19fdb6e20c1f6ffea3d91cecadcc85098444fe4e97c7694bbb02f967d87ea1da

Contents?: true

Size: 530 Bytes

Versions: 23

Compression:

Stored size: 530 Bytes

Contents

require 'digest/md5'
 
module Trackman
  module Components
    module Hashable
      def data
        @data ||= read_file(path)
      end

      def file_hash
        @file_hash ||= (data.nil? ? "" : Digest::MD5.hexdigest(data))
      end
      
      protected
        def read_file(file_path)
          begin
            file = File.open(file_path)
            return file.read
          rescue
            return nil
          ensure
            file.close unless file.nil?
          end    
        end
    end      
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
trackman-0.6.18 lib/trackman/components/hashable.rb
trackman-0.6.17 lib/trackman/components/hashable.rb
trackman-0.6.16 lib/trackman/components/hashable.rb
trackman-0.6.15 lib/trackman/components/hashable.rb
trackman-0.6.14 lib/trackman/components/hashable.rb
trackman-0.6.13 lib/trackman/components/hashable.rb
trackman-0.6.12 lib/trackman/components/hashable.rb
trackman-0.6.11 lib/trackman/components/hashable.rb
trackman-0.6.10 lib/trackman/components/hashable.rb
trackman-0.6.9 lib/trackman/components/hashable.rb
trackman-0.6.8 lib/trackman/components/hashable.rb
trackman-0.6.7 lib/trackman/components/hashable.rb
trackman-0.6.6 lib/trackman/components/hashable.rb
trackman-0.6.5 lib/trackman/components/hashable.rb
trackman-0.6.4 lib/trackman/components/hashable.rb
trackman-0.6.3 lib/trackman/components/hashable.rb
trackman-0.6.2 lib/trackman/components/hashable.rb
trackman-0.6.1 lib/trackman/components/hashable.rb
trackman-0.6.0 lib/trackman/components/hashable.rb
trackman-0.5.8 lib/trackman/components/hashable.rb