Module: Continue

Defined in:
lib/continue.rb,
lib/continue/version.rb

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.Command(&block) ⇒ Object



17
18
19
# File 'lib/continue.rb', line 17

def self.Command(&block)
  ->(s,e,v,a) { block.call(v, a) ? s.call : e.call  }
end

.Run(procs, value = nil, error = nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/continue.rb', line 5

def self.Run(procs, value=nil, error=nil)

  run = ->(rem_procs,val,err,_args=nil) do
    fn, *rest = rem_procs
    s = ->(args=nil) { run.call(rest,val,err,args) }
    err ||= ->() { false }
    fn.call(s,err,val,_args) if fn
  end

  run.call(procs, value, error)
end