Module: DigestIO

Defined in:
lib/d8a/digestd8a.rb

Overview

Add digesting to an IO object

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#digestObject

Returns the value of attribute digest.



6
7
8
# File 'lib/d8a/digestd8a.rb', line 6

def digest
  @digest
end

Class Method Details

.extended(o) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/d8a/digestd8a.rb', line 8

def DigestIO.extended(o)
  class << o
    alias_method :__digestio_read, :read
    def read(*args)
      s = __digestio_read(*args)
      @digest << s if s
      s
    end

    alias_method :__digestio_write, :write
    def write(s)
      i = __digestio_write(s)
      @digest << s[0,i]
      i
    end
  end

  o.digest = Digest::MD5.new
end