Method: Redis#_eval

Defined in:
lib/redis.rb

#_eval(cmd, args) ⇒ Object



2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
# File 'lib/redis.rb', line 2201

def _eval(cmd, args)
  script = args.shift
  options = args.pop if args.last.is_a?(Hash)
  options ||= {}

  keys = args.shift || options[:keys] || []
  argv = args.shift || options[:argv] || []

  synchronize do |client|
    client.call([cmd, script, keys.length] + keys + argv)
  end
end