Sha256: b9323af834678d2a9f7e0b73de3e8cd3c6f4e384bac4651fbd75138302c76ac4

Contents?: true

Size: 751 Bytes

Versions: 1

Compression:

Stored size: 751 Bytes

Contents

class Redis
  class Classy
    class << self
      attr_accessor :db

      def inherited(subclass)
        subclass.db = Redis::Namespace.new(subclass.name, :redis => Redis::Classy.db) if Redis::Classy.db
      end

      def method_missing(method_name, *args, &block)
        db.send(method_name, *args, &block)
      end

      Redis::Namespace::COMMANDS.keys.each do |key|
        define_method(key) do |*args, &block|
          raise 'Redis::Classy.db is not assigned' unless db
          db.send(key, *args, &block)
        end
      end
    end

    attr_accessor :key

    def initialize(key)
      @key = key
    end

    def method_missing(method_name, *args, &block)
      self.class.send(method_name, key, *args, &block)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
redis-classy-1.1.1 lib/redis/classy.rb