Module: FakeRedis::CommandExecutor

Defined in:
lib/fakeredis/command_executor.rb

Instance Method Summary collapse

Instance Method Details

#write(command) ⇒ Object


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/fakeredis/command_executor.rb', line 3

def write(command)
  meffod = command[0].to_s.downcase.to_sym
  args = command[1..-1]

  if in_multi && !(TRANSACTION_COMMANDS.include? meffod) # queue commands
    queued_commands << [meffod, *args]
    reply = 'QUEUED'
  elsif respond_to?(meffod) && method(meffod).arity.zero?
    reply = send(meffod)
  elsif respond_to?(meffod)
    reply = send(meffod, *args)
  else
    raise Redis::CommandError, "ERR unknown command '#{meffod}'"
  end

  replies << reply
  nil
end