Sha256: 57b8922bdba888f7943386e068d8862d4490b4f640b84bc17d1b8c95f85033c2

Contents?: true

Size: 529 Bytes

Versions: 1

Compression:

Stored size: 529 Bytes

Contents

# encoding: UTF-8

require "json"
require "redic"

module Stal
  LUA = File.expand_path("../../data/stal.lua", __FILE__)
  SHA = "e98658a3aca397c69e8b452a73c6826cdd9f0577"

  # Evaluate expression `expr` in the Redis client `c`.
  def self.solve(c, expr)
    begin
      c.call!("EVALSHA", SHA, 0, JSON.dump(expr))
    rescue RuntimeError
      if $!.message["NOSCRIPT"]
        c.call!("SCRIPT", "LOAD", File.read(LUA))
        c.call!("EVALSHA", SHA, 0, JSON.dump(expr))
      else
        raise $!
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
stal-0.2.0 lib/stal.rb