Sha256: 33369c16ba044a4bc2e34eef4407255060fcaef04377b1ac0f1be704a7211533

Contents?: true

Size: 754 Bytes

Versions: 3

Compression:

Stored size: 754 Bytes

Contents

# frozen_string_literal: true

require 'redis'

module LinkedRails
  class Storage
    REDIS_DB = {
      cache: LinkedRails.cache_redis_database,
      persistent: LinkedRails.persistent_redis_database,
      stream: LinkedRails.stream_redis_database
    }.freeze
    KEYS = {
      manifest: 'cache:Manifest',
      redirect: 'cache:Redirect'
    }.freeze

    class << self
      %i[xadd].each do |method|
        define_method(method) do |db, *args|
          Redis.new(db: REDIS_DB.fetch(db)).send(method, *args)
        end
      end

      %i[hset hdel hget].each do |method|
        define_method(method) do |db, key, *args|
          Redis.new(db: REDIS_DB.fetch(db)).send(method, KEYS.fetch(key), *args)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
linked_rails-0.0.4.pre.g661cde413 lib/linked_rails/storage.rb
linked_rails-0.0.4.pre.ge09501794 lib/linked_rails/storage.rb
linked_rails-0.0.4.pre.gc3dfc6914 lib/linked_rails/storage.rb