Module: RedisMemo::Util

Defined in:
lib/redis_memo/util.rb

Class Method Summary collapse

Class Method Details

.checksum(serialized) ⇒ Object



4
5
6
# File 'lib/redis_memo/util.rb', line 4

def self.checksum(serialized)
  Digest::SHA1.base64digest(serialized)
end

.deep_sort_hash(orig_hash) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/redis_memo/util.rb', line 8

def self.deep_sort_hash(orig_hash)
  {}.tap do |new_hash|
    orig_hash.sort.each do |k, v|
      new_hash[k] = v.is_a?(Hash) ? deep_sort_hash(v) : v
    end
  end
end

.tagify_parameterized_sql(sql) ⇒ Object



16
17
18
19
20
# File 'lib/redis_memo/util.rb', line 16

def self.tagify_parameterized_sql(sql)
  # replace $1 with ?,
  # and (?, ?, ? ...) with (?)
  sql.gsub(/(\$\d+)/, '?').gsub(/((, *)*\?)+/, '?')
end

.uuidObject



22
23
24
# File 'lib/redis_memo/util.rb', line 22

def self.uuid
  SecureRandom.uuid
end