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



28
29
30
# File 'lib/twingly/url/hasher.rb', line 28

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

.blogstream_hash(url) ⇒ Object



20
21
22
# File 'lib/twingly/url/hasher.rb', line 20

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

.documentdb_hash(url) ⇒ Object



24
25
26
# File 'lib/twingly/url/hasher.rb', line 24

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

.pingloggerdb_hash(url) ⇒ Object



32
33
34
# File 'lib/twingly/url/hasher.rb', line 32

def pingloggerdb_hash(url)
  SHA256_DIGEST.digest(url).unpack("Q")[0]
end

.taskdb_hash(url) ⇒ Object



16
17
18
# File 'lib/twingly/url/hasher.rb', line 16

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