Class: OrganicSitemap::RedisManager

Inherits:
Object
  • Object
show all
Defined in:
lib/organic-sitemap/redis_manager.rb

Class Method Summary collapse

Class Method Details

.add(key) ⇒ Object



3
4
5
6
# File 'lib/organic-sitemap/redis_manager.rb', line 3

def self.add(key)
  return unless key
  redis_connection.zadd(storage_key, (DateTime.now + expiry_time).to_time.to_i, key)
end

.clean_set(time = Time.now) ⇒ Object



8
9
10
# File 'lib/organic-sitemap/redis_manager.rb', line 8

def self.clean_set(time = Time.now)
  redis_connection.zremrangebyscore(storage_key, "-inf", time.to_i)
end

.remove_key(key: nil) ⇒ Object



18
19
20
21
# File 'lib/organic-sitemap/redis_manager.rb', line 18

def self.remove_key(key: nil)
  return if key.nil?
  redis_connection.zrem(storage_key, key)
end

.remove_keys(keys: []) ⇒ Object



23
24
25
26
27
28
# File 'lib/organic-sitemap/redis_manager.rb', line 23

def self.remove_keys(keys: [])
  return unless keys.any?
  keys.each do |key|
    remove_key key
  end
end

.sitemap_urls(from: nil, to: nil) ⇒ Object



12
13
14
15
16
# File 'lib/organic-sitemap/redis_manager.rb', line 12

def self.sitemap_urls(from: nil, to: nil)
  from = from ? from.to_time.to_i : '-inf'
  to = to ? to.to_time.to_i : '+inf'
  redis_connection.zrangebyscore(storage_key, from, to)
end