Module: Twingly::URL::Hasher

Defined in:
lib/twingly/url/hasher.rb

Constant Summary collapse

MD5_DIGEST =

Instantiate digest classes in a thread-safe manner This is important since we don’t know how people will use this gem (if they require it in a thread safe way)

Digest(:MD5)
SHA256_DIGEST =
Digest(:SHA256)

Class Method Summary collapse

Class Method Details

.autopingdb_hash(url) ⇒ Object



30
31
32
# File 'lib/twingly/url/hasher.rb', line 30

def autopingdb_hash(url)
  SHA256_DIGEST.digest(url).unpack("q")[0]
end

.blogstream_hash(url) ⇒ Object



22
23
24
# File 'lib/twingly/url/hasher.rb', line 22

def blogstream_hash(url)
  MD5_DIGEST.hexdigest(url)[0..29].upcase
end

.documentdb_hash(url) ⇒ Object



26
27
28
# File 'lib/twingly/url/hasher.rb', line 26

def documentdb_hash(url)
  SHA256_DIGEST.digest(url).unpack("L!")[0]
end

.taskdb_hash(url) ⇒ Object



18
19
20
# File 'lib/twingly/url/hasher.rb', line 18

def taskdb_hash(url)
  MD5_DIGEST.hexdigest(url)[0..29].upcase
end