Module: Lax
- Defined in:
- lib/lax.rb,
lib/lax/case.rb,
lib/lax/hook.rb,
lib/lax/task.rb,
lib/lax/tree.rb,
lib/lax/version.rb
Defined Under Namespace
Classes: Case, Hook, Task, Tree
Constant Summary
collapse
- VERSION =
'0.0.3'
- @@cases =
[]
Class Method Summary
collapse
Class Method Details
.call(p, *as) ⇒ Object
27
28
29
|
# File 'lib/lax.rb', line 27
def call(p, *as)
p[*as] if p
end
|
.preproc(p) ⇒ Object
31
32
33
|
# File 'lib/lax.rb', line 31
def preproc(p)
p.parameters.any?? p : ->(o) { o.instance_exec &p }
end
|
.test(c = {}, &b) ⇒ Object
10
11
12
13
|
# File 'lib/lax.rb', line 10
def test(c={},&b)
preproc(b)[t=Tree.new(c)]
t.leaves.tap {|cs|@@cases+=cs}
end
|
.test!(opts = {}) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/lax.rb', line 15
def test!(opts={})
cases = opts[:cases] || @@cases
call opts[:start], cases
cases.each do |c|
call opts[:before], c
c.test
call opts[:after], c
end
call opts[:finish], cases
cases
end
|