module RedisLua
Constants
- VERSION
Attributes
config_file_path[RW]
lua_script_path[RW]
Public Class Methods
call_script(name, *args)
click to toggle source
# File lib/redis_lua.rb, line 43 def call_script(name, *args) sha1 = config[name] Redis.current.evalsha(sha1, *args) end
config()
click to toggle source
# File lib/redis_lua.rb, line 10 def config @config ||= load_config(config_file_path) end
load_config(file_path)
click to toggle source
# File lib/redis_lua.rb, line 14 def load_config(file_path) YAML.load(File.read(file_path)) end
load_script(name)
click to toggle source
# File lib/redis_lua.rb, line 29 def load_script(name) script = read_script(name) sha1 = Digest::SHA1.hexdigest(script) if sha1 == config[name] Redis.current.script(:load, script) else raise "sha1 digest mismatch: #{key} #{sha1}" end end
load_scripts()
click to toggle source
# File lib/redis_lua.rb, line 23 def load_scripts config.each do |key, _| load_script(key) end end
loaded_script?(name)
click to toggle source
# File lib/redis_lua.rb, line 39 def loaded_script?(name) Redis.current.script(:exists, config[name]) end
read_script(name)
click to toggle source
# File lib/redis_lua.rb, line 18 def read_script(name) file_path = Pathname.new(lua_script_path) + "#{name}.lua" File.read(file_path) end