module Gibbler::Array
Creates a digest based on:
-
parse each element into an Array of digests like:
CLASS:INDEX:VALUE.__gibbler
-
Return the digest for
class:length:value
where:
This method can be used by any class with an each
method.
class MyNamedArray include Gibbler::Array end
Public Class Methods
included(obj)
click to toggle source
# File lib/gibbler.rb, line 482 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 488 def __gibbler(digest_type=nil) klass = self.class d, index = [], 0 self.each_with_index do |value,idx| unless value.respond_to? :__gibbler gibbler_debug klass, :skipping, idx next end d << '%s:%s:%s' % [value.class, index, value.__gibbler(digest_type)] index += 1 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