Method: Led.run_script

Defined in:
lib/led.rb

.run_script(m, *args) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
# File 'lib/led.rb', line 36

def self.run_script(m, *args)
  conn.evalsha(@shas[m], [], args)
rescue Redis::CommandError => e
  # detect if script needs to be reloaded
  if e.message =~ /NOSCRIPT/
    @shas[m] = conn.script('load', @scripts[m])
    conn.evalsha(@shas[m], [], args)
  else
    handle_command_error(e, m)
  end
end