Module: SidekiqSmartCache

Defined in:
lib/sidekiq_smart_cache.rb,
lib/sidekiq_smart_cache/redis.rb,
lib/sidekiq_smart_cache/worker.rb,
lib/sidekiq_smart_cache/promise.rb,
lib/sidekiq_smart_cache/version.rb,
lib/sidekiq_smart_cache/interlock.rb

Defined Under Namespace

Modules: Model Classes: Interlock, Promise, Redis, TimeoutError, Worker

Constant Summary collapse

BLOCKING_COMMANDS =
%i[ brpop ].freeze
COMMANDS =
BLOCKING_COMMANDS + %i[ get set lpush expire flushdb del ].freeze
ERROR_TO_CATCH =
if defined?(::RedisClient)
  ::RedisClient::CommandError
else
  ::Redis::CommandError
end
VERSION =
'0.1.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.cache_prefixObject

Returns the value of attribute cache_prefix.



12
13
14
# File 'lib/sidekiq_smart_cache.rb', line 12

def cache_prefix
  @cache_prefix
end

.log_levelObject

Returns the value of attribute log_level.



12
13
14
# File 'lib/sidekiq_smart_cache.rb', line 12

def log_level
  @log_level
end

.loggerObject

Returns the value of attribute logger.



12
13
14
# File 'lib/sidekiq_smart_cache.rb', line 12

def logger
  @logger
end

.redis_poolObject

Returns the value of attribute redis_pool.



12
13
14
# File 'lib/sidekiq_smart_cache.rb', line 12

def redis_pool
  @redis_pool
end

Class Method Details

.allowed_classesObject



14
15
16
# File 'lib/sidekiq_smart_cache.rb', line 14

def allowed_classes
  (@allowed_classes || []) + [Time, Symbol]
end

.allowed_classes=(extra_classes) ⇒ Object



18
19
20
# File 'lib/sidekiq_smart_cache.rb', line 18

def allowed_classes=(extra_classes)
  @allowed_classes = extra_classes
end

.log(message) ⇒ Object



23
24
25
# File 'lib/sidekiq_smart_cache.rb', line 23

def self.log(message)
  logger.send((log_level || :info), message) if logger
end

.redisObject



27
28
29
# File 'lib/sidekiq_smart_cache.rb', line 27

def self.redis
  @redis ||= Redis.new(redis_pool)
end