Repository URL to install this package:
|
Version:
0.2.10 ▾
|
module Rrq
module Scripts
class Base
def initialize(conn)
@conn = conn
end
def lua_filename
raise NotImplementedError.new
end
def load
text = Pathname.new(__FILE__).dirname.join("lua/#{lua_filename}").read
@conn.redis { |r| r.script(:load, text) }
end
def reload
@sha = load
end
def perform(*args)
@sha ||= load
request(*args)
rescue Redis::CommandError => e
if e.message.include?("NOSCRIPT")
reload
retry
end
end
end
end
end