class Wayfarer::Frontiers::RedisFrontier
A Redis frontier @api private
Public Class Methods
new(config)
click to toggle source
Calls superclass method
Wayfarer::Frontiers::Frontier::new
# File lib/wayfarer/frontiers/redis_frontier.rb, line 10 def initialize(config) @conn = Redis.new(config.redis_opts) super(config) end
Public Instance Methods
cache(*uris)
click to toggle source
@override
# File lib/wayfarer/frontiers/redis_frontier.rb, line 36 def cache(*uris) @conn.sadd(cached_uris_key, uris.map(&:to_s)) if uris.any? end
cached?(uri)
click to toggle source
@override
# File lib/wayfarer/frontiers/redis_frontier.rb, line 41 def cached?(uri) @conn.sismember(cached_uris_key, uri.to_s) end
current_uris()
click to toggle source
@override
# File lib/wayfarer/frontiers/redis_frontier.rb, line 16 def current_uris @conn.smembers(current_uris_key).map { |str| URI(str) } end
free()
click to toggle source
@override
# File lib/wayfarer/frontiers/redis_frontier.rb, line 46 def free [current_uris_key, staged_uris_key, cached_uris_key].each do |key| @conn.del(key) end @conn.disconnect! end
stage(*uris)
click to toggle source
@override
# File lib/wayfarer/frontiers/redis_frontier.rb, line 26 def stage(*uris) @conn.sadd(staged_uris_key, uris.map(&:to_s)) if uris.any? end
staged?(uri)
click to toggle source
@override
# File lib/wayfarer/frontiers/redis_frontier.rb, line 31 def staged?(uri) @conn.sismember(staged_uris_key, uri.to_s) end
staged_uris()
click to toggle source
@override
# File lib/wayfarer/frontiers/redis_frontier.rb, line 21 def staged_uris @conn.smembers(staged_uris_key).map { |str| URI(str) } end
Private Instance Methods
cached_uris_key()
click to toggle source
# File lib/wayfarer/frontiers/redis_frontier.rb, line 78 def cached_uris_key "#{@config.uuid}_cached_uris" end
current_uris_key()
click to toggle source
# File lib/wayfarer/frontiers/redis_frontier.rb, line 70 def current_uris_key "#{@config.uuid}_current_uris" end
filter_staged_uris!()
click to toggle source
# File lib/wayfarer/frontiers/redis_frontier.rb, line 66 def filter_staged_uris! @conn.sdiffstore(staged_uris_key, staged_uris_key, cached_uris_key) end
reset_staged_uris!()
click to toggle source
# File lib/wayfarer/frontiers/redis_frontier.rb, line 56 def reset_staged_uris! @conn.del(staged_uris_key) end
staged_uris_key()
click to toggle source
# File lib/wayfarer/frontiers/redis_frontier.rb, line 74 def staged_uris_key "#{@config.uuid}_staged_uris" end
swap!()
click to toggle source
@override
# File lib/wayfarer/frontiers/redis_frontier.rb, line 61 def swap! # Achieve: @current_uris = @staged_uris @conn.rename(staged_uris_key, current_uris_key) end