Class: GoogleChecksum

Inherits:
Object
  • Object
show all
Defined in:
lib/google_pr.rb

Overview

extracted from PageRankr cf. github.com/blatyo/page_rankr use: Google::Pagerank.new(domain).check

Class Method Summary collapse

Class Method Details

.generate(site) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/google_pr.rb', line 25

def generate(site)
  bytes  = byte_array(site)
  length = bytes.length
  a = b = 0x9E3779B9
  c = 0xE6359A60

  k, len = 0, length
  while(len >= 12)
    a, b, c = mix(*shift(a, b, c, k, bytes))
    k += 12
    len -= 12
  end

  c = c + length

  c = mix(*toss(a, b, c, bytes, len, k))[2]
  "6" + c.to_s
end