module FakeRedis::TransactionCommands

def self.included(klass)

def self.included(klass)
  klass.class_eval do
    def self.queued_commands
      @queued_commands ||= Hash.new {|h,k| h[k] = [] }
    end
    def self.in_multi
      @in_multi ||= Hash.new{|h,k| h[k] = false}
    end
    def queued_commands
      self.class.queued_commands[database_instance_key]
    end
    def queued_commands=(cmds)
      self.class.queued_commands[database_instance_key] = cmds
    end
    def in_multi
      self.class.in_multi[database_instance_key]
    end
    def in_multi=(multi_state)
      self.class.in_multi[database_instance_key] = multi_state
    end
  end
end