Class: DiscourseRedis::EvalHelper
- Inherits:
-
Object
- Object
- DiscourseRedis::EvalHelper
- Defined in:
- lib/discourse_redis.rb
Instance Method Summary collapse
- #eval(redis, *args, **kwargs) ⇒ Object
-
#initialize(script) ⇒ EvalHelper
constructor
A new instance of EvalHelper.
Constructor Details
#initialize(script) ⇒ EvalHelper
Returns a new instance of EvalHelper.
267 268 269 270 |
# File 'lib/discourse_redis.rb', line 267 def initialize(script) @script = script @sha1 = Digest::SHA1.hexdigest(script) end |
Instance Method Details
#eval(redis, *args, **kwargs) ⇒ Object
272 273 274 275 276 277 278 279 280 |
# File 'lib/discourse_redis.rb', line 272 def eval(redis, *args, **kwargs) redis.evalsha @sha1, *args, **kwargs rescue ::Redis::CommandError => e if e.to_s =~ /\ANOSCRIPT/ redis.eval @script, *args, **kwargs else raise end end |