Class: Redis::Scripted

Inherits:
Redis
  • Object
show all
Defined in:
lib/redis/scripted.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Scripted

Returns a new instance of Scripted.



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/redis/scripted.rb', line 5

def initialize(options = {})
  path = options.delete(:scripts_path)

  super(options)

  if path
    Dir["#{path}/*.lua"].each do |file|
      name = File.basename(file, ".lua")
      _define_script_method(name, File.read(file))
    end
  end
end

Instance Method Details

#eval(script, keys = [], values = []) ⇒ Object



24
25
26
27
28
# File 'lib/redis/scripted.rb', line 24

def eval(script, keys = [], values = [])
  synchronize do
    @client.call(:eval, script, keys.size, *keys, *values)
  end
end

#evalsha(sha, keys = [], values = []) ⇒ Object



18
19
20
21
22
# File 'lib/redis/scripted.rb', line 18

def evalsha(sha, keys = [], values = [])
  synchronize do
    @client.call(:evalsha, sha, keys.size, *keys, *values)
  end
end