In Files

Included Modules

Gibbler::Hash

Creates a digest based on:

This method can be used by any class with a keys method.

class MyOrderedHash
  include Gibbler::Hash
end

Public Class Methods

included(obj) click to toggle source
# File lib/gibbler.rb, line 438
def self.included(obj)
  obj.extend Attic
  obj.attic :gibbler_cache
end

Public Instance Methods

__gibbler(digest_type=nil) click to toggle source

Creates a digest for the current state of self.

# File lib/gibbler.rb, line 444
def __gibbler(digest_type=nil)
  klass = self.class
  d = self.keys.sort { |a,b| a.inspect <=> b.inspect }
  d.collect! do |name| 
    value = self[name]
    unless value.respond_to? :__gibbler
      gibbler_debug klass, :skipping, name
      next
    end
    '%s:%s:%s' % [value.class, name, value.__gibbler(digest_type)]
  end 
  d = d.join(Gibbler.delimiter).__gibbler(digest_type)
  a = Gibbler.digest '%s:%s:%s' % [klass, d.size, d], digest_type
  gibbler_debug klass, a, [klass, d.size, d]
  a  
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.