Sha256: 5a3e8e3ec30614a81b6ea6d7a1040002199cf2b13316d0edbb2808ada7bc534e

Contents?: true

Size: 1.8 KB

Versions: 36

Compression:

Stored size: 1.8 KB

Contents

# monkey patch needed for Zip::InputStream.open_buffer
class StringIO
  def path
  end
end

NAME_A   = "PromiseA2"
SCRIPT_A = <<EOS
Y:
    q =? nil
    s =? 0.875
    a = Y(p_title="aaa", q=q, s=s, p_timeout=3) | ['b']
    b = Y(p_title="bbb", q=q, s=s, p_timeout=3) | ['e']
    e = if q == s then ERR("xxx") else q-s
    z = Gemini::Helper.sleep(s) && s
    d = [Y(p_title="z/a %d" % i, q=i, s=s, p_timeout=30) | ['z','a']
         for i in [1, 2, 3]]
    f = Y(s=s) | ["d"]
EOS

NAME_B   = "PromiseB"
SCRIPT_B = <<EOS
Y:
    result = [{"a": i, "b": i*i} for i in [1,2,3]]
    format = "csv"
    title  = "#{NAME_B}"
Z:
    result = [Y() | ["result", "format", "title"] for i in [1,2,3]]
    format = "zip"
    title  = "Root#{NAME_B}"
EOS

NAME_C   = "PromiseC"
SCRIPT_C = <<EOS
Y:
    node =?
    x = 123
    res = node() | "x"
Z:
    result = Y(node=Y) | "res"
    title  = "#{NAME_C}"
EOS

NAME_D   = "PromiseD"
SCRIPT_D = <<EOS
Y:
    arg =?

Z:
    x = ERR("xxx")
    lazy = Z() | "x"
    result = Y(arg=lazy, p_title="#{NAME_D}") | "arg"
    title  = "#{NAME_D}"
EOS

NAME_E   = "PromiseE"
SCRIPT_E = <<EOS
X:
    x = 'x'*10
Z:
    result = [X() | "x" for i in [1,2,3,4,5,6]]
EOS

NAME_F   = "PromiseF"
SCRIPT_F = <<EOS
import #{NAME_E}
Z:
    result = #{NAME_E}::X() | "x"
EOS

NAME_G   = "PromiseG"
SCRIPT_G = <<EOS
U:
    result  = [123]
R:
    result = U(p_title="#{NAME_G}2") | "result"
A:
    result = R().result
V:
    result = A(p_title="#{NAME_G}") | "result"
EOS

NAME_H   = "PromiseH"
SCRIPT_H = <<EOS
Y:
    q =? nil
    a = Gemini::Helper.sleep(5) && q*q
    d = [Y(q=i) | ['a'] for i in [1, 2]]
EOS

def promise_bodies
  {
    NAME_A => SCRIPT_A,
    NAME_B => SCRIPT_B,
    NAME_C => SCRIPT_C,
    NAME_D => SCRIPT_D,
    NAME_E => SCRIPT_E,
    NAME_F => SCRIPT_F,
    NAME_G => SCRIPT_G,
    NAME_H => SCRIPT_H,
  }
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
marty-1.0.12 spec/job_helper.rb
marty-1.0.11 spec/job_helper.rb
marty-1.0.10 spec/job_helper.rb
marty-1.0.9 spec/job_helper.rb
marty-1.0.8 spec/job_helper.rb
marty-1.0.7 spec/job_helper.rb
marty-1.0.6 spec/job_helper.rb
marty-1.0.5 spec/job_helper.rb
marty-1.0.4 spec/job_helper.rb
marty-1.0.3 spec/job_helper.rb
marty-1.0.1 spec/job_helper.rb
marty-1.0.0 spec/job_helper.rb
marty-0.5.41 spec/job_helper.rb
marty-0.5.40 spec/job_helper.rb
marty-0.5.39 spec/job_helper.rb
marty-0.5.38 spec/job_helper.rb
marty-0.5.36 spec/job_helper.rb
marty-0.5.35 spec/job_helper.rb
marty-0.5.34 spec/job_helper.rb
marty-0.5.33 spec/job_helper.rb