Sha256: b1b5ba38421226281aa04519a9b2973dc5665f6ea137ac5fc210b46c2037a702

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 = "4bd605bfee5f1e809089c5f98d10fab8aec38bd3"

  # 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.3.0 lib/stal.rb