Module: HashDigest
- Defined in:
- lib/hash_digest.rb,
lib/hash_digest/version.rb
Constant Summary collapse
- VERSION =
"1.1.3"
Class Method Summary collapse
-
.as_digest1(obj) ⇒ Object
LEGACY.
-
.as_digest2(obj) ⇒ Object
LEGACY.
-
.as_digest3(obj) ⇒ Object
CURRENT.
-
.digest2(obj) ⇒ Object
LEGACY.
-
.digest3(obj) ⇒ Object
CURRENT.
- .escape_url(str) ⇒ Object
-
.hexdigest(obj) ⇒ Object
LEGACY.
Class Method Details
.as_digest1(obj) ⇒ Object
LEGACY
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/hash_digest.rb', line 30 def self.as_digest1(obj) ordered_list = case obj when ::Hash obj.map do |k, v| obj[k].to_hash_digest_query k end.sort when ::Array ary = [] obj.each_with_index do |v, i| ary << v.to_hash_digest_query(i) end ary else raise ::ArgumentError, "[hash_digest gem] Can only digest Hashes and Arrays, not #{obj.class}" end ordered_list.join '&' end |
.as_digest2(obj) ⇒ Object
LEGACY
20 21 22 |
# File 'lib/hash_digest.rb', line 20 def self.as_digest2(obj) obj.to_hash_digest_query end |
.as_digest3(obj) ⇒ Object
CURRENT
10 11 12 |
# File 'lib/hash_digest.rb', line 10 def self.as_digest3(obj) obj.to_hash_digest_query end |
.digest2(obj) ⇒ Object
LEGACY
25 26 27 |
# File 'lib/hash_digest.rb', line 25 def self.digest2(obj) ::MurmurHash3::V32.str_hash(as_digest2(obj)).to_s 36 end |
.digest3(obj) ⇒ Object
CURRENT
15 16 17 |
# File 'lib/hash_digest.rb', line 15 def self.digest3(obj) ::Digest::SHA1.hexdigest as_digest2(obj) end |
.escape_url(str) ⇒ Object
57 |
# File 'lib/hash_digest.rb', line 57 def self.escape_url(str); ::CGI.escape(str) end |
.hexdigest(obj) ⇒ Object
LEGACY
49 50 51 |
# File 'lib/hash_digest.rb', line 49 def self.hexdigest(obj) ::Digest::MD5.hexdigest as_digest1(obj) end |