forked from rubyworks/ansi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathErgofile
79 lines (62 loc) · 1.74 KB
/
Ergofile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/usr/bin/env ruby
ignore 'doc', 'site', 'log'
#############################################################################
#
# Default
#
#############################################################################
book :default => [:demo]
#############################################################################
#
# Run QED demos
#
#############################################################################
book :demo do
desc "run demos"
rule "demo/*.md" => :run_demo
rule "lib/**/*.rb" => :run_all
def run_demo(*demos)
shell "bundle exec qed -Ilib " + demos.join(' ')
end
def run_all
shell "bundle exec qed -Ilib demo/*.md"
end
#task("demo") { shell "qed -Ilib qed/" }
end
#############################################################################
#
# Run unit tests
#
#############################################################################
book :test do
desc "run unit tests"
rule 'test/helper.rb' => :test_all
rule 'test/case_*.rb' => :test
rule /^lib\/(.*?)\.rb$/ => :test_match
rule /^lib\/ansi\/(.*?)\.rb$/ => :test_match
def test_all
test *Dir['test/test_*.rb']
end
def test_match(m)
test "test/case_#{m[1]}"
end
def test(*paths)
shell "bundle exec rubytest #{gem_opt} -Ilib:test " + paths.flatten.join(' ')
end
def gem_opt
defined?(::Gem) ? "-rubygems" : ""
end
#Signal.trap('QUIT') { test_all } # Ctrl-\
end
#############################################################################
#
# Update .index file
#
#############################################################################
book :index do
desc "update index file"
rule 'INDEX.yml' do
shell "index -u INDEX.yml"
end
end
#Signal.trap('INT' ) { abort("\n") } # Ctrl-C