qed 2.8.7 → 2.8.8
Sign up to get free protection for your applications and to get access to all the features.
- data/.ruby +1 -1
- data/HISTORY.rdoc +12 -0
- data/lib/qed.yml +1 -1
- data/lib/qed/settings.rb +77 -41
- metadata +14 -14
data/.ruby
CHANGED
@@ -41,7 +41,7 @@ revision: 0
|
|
41
41
|
created: '2009-06-16'
|
42
42
|
summary: Quod Erat Demonstrandum
|
43
43
|
title: QED
|
44
|
-
version: 2.8.
|
44
|
+
version: 2.8.8
|
45
45
|
name: qed
|
46
46
|
webcvs: http://github.com/rubyworks/qed/blob/master/
|
47
47
|
description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
|
data/HISTORY.rdoc
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
+
== 2.8.8 | 2012-30-17
|
4
|
+
|
5
|
+
Feel like a heel after the last four releases. The simplist solution
|
6
|
+
to the configuration issue is to allow traditional configuration
|
7
|
+
trump confection based configuration. If the former is used, then
|
8
|
+
the later will never even load. Problem solved.
|
9
|
+
|
10
|
+
Changes:
|
11
|
+
|
12
|
+
* Traditional configuration trump Confection configuration.
|
13
|
+
|
14
|
+
|
3
15
|
== 2.8.7 | 2012-03-16
|
4
16
|
|
5
17
|
Release fixes a bug that prevented default demo locations from being
|
data/lib/qed.yml
CHANGED
@@ -41,7 +41,7 @@ revision: 0
|
|
41
41
|
created: '2009-06-16'
|
42
42
|
summary: Quod Erat Demonstrandum
|
43
43
|
title: QED
|
44
|
-
version: 2.8.
|
44
|
+
version: 2.8.8
|
45
45
|
name: qed
|
46
46
|
webcvs: http://github.com/rubyworks/qed/blob/master/
|
47
47
|
description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
|
data/lib/qed/settings.rb
CHANGED
@@ -2,26 +2,24 @@ module QED
|
|
2
2
|
|
3
3
|
# Settings ecapsulates setup code for running QED.
|
4
4
|
#
|
5
|
-
# QED
|
5
|
+
# QED supports Confection-based configuration, if a Confile is present.
|
6
6
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
7
|
+
# config :qed, :cover do
|
8
|
+
# require 'simplecov'
|
9
|
+
# SimpleCov.start do
|
10
|
+
# coverage_dir 'log/coverage'
|
11
|
+
# end
|
12
|
+
# end
|
13
13
|
#
|
14
|
-
#
|
15
|
-
#
|
14
|
+
# QED also supports traditional configuration files placed in either
|
15
|
+
# toplevel `.qed`, `.qed.rb`, `qed.rb` or these files in the `task/`
|
16
|
+
# directory or in the form of `task/<name>.qed`. The same example as
|
17
|
+
# above in one of these files would be:
|
16
18
|
#
|
17
|
-
#
|
19
|
+
# profile :cover do
|
18
20
|
# require 'simplecov'
|
19
21
|
# SimpleCov.start do
|
20
22
|
# coverage_dir 'log/coverage'
|
21
|
-
# add_group "Shared" do |src_file|
|
22
|
-
# /lib\/dotruby\/v(\d+)(.*?)$/ !~ src_file.filename
|
23
|
-
# end
|
24
|
-
# add_group "Revision 0", "lib/dotruby/v0"
|
25
23
|
# end
|
26
24
|
# end
|
27
25
|
#
|
@@ -34,9 +32,6 @@ module QED
|
|
34
32
|
# will be searched.
|
35
33
|
DEFAULT_FILES = ['qed', 'demo', 'spec']
|
36
34
|
|
37
|
-
# QED support configuration file mapping.
|
38
|
-
#MAP_FILE = '.map'
|
39
|
-
|
40
35
|
# Glob pattern used to search for project's root directory.
|
41
36
|
ROOT_PATTERN = '{.map,.ruby,.git/,.hg/,_darcs/}'
|
42
37
|
|
@@ -49,6 +44,19 @@ module QED
|
|
49
44
|
# Directory names to omit from automatic selection.
|
50
45
|
OMIT_PATHS = %w{applique helpers support sample samples fixture fixtures}
|
51
46
|
|
47
|
+
# QED support configuration file mapping.
|
48
|
+
#MAP_FILE = '.map'
|
49
|
+
|
50
|
+
#
|
51
|
+
# Mast configuration file lookup glob.
|
52
|
+
#
|
53
|
+
CONFECTION_GLOB = '{,.}confile{.rb,}'
|
54
|
+
|
55
|
+
#
|
56
|
+
# Traditional configuration file lookup glob.
|
57
|
+
#
|
58
|
+
CONFIG_GLOB = '{,.,task/}qed{,file}{,.rb}'
|
59
|
+
|
52
60
|
#
|
53
61
|
# Initialize new Settings instance.
|
54
62
|
#
|
@@ -67,45 +75,70 @@ module QED
|
|
67
75
|
@format = :dot
|
68
76
|
@trace = false
|
69
77
|
@mode = nil
|
70
|
-
@profile = ENV['profile'] || :default
|
71
78
|
@loadpath = ['lib']
|
72
79
|
@requires = []
|
73
80
|
@omit = OMIT_PATHS # TODO: eventually make configurable
|
74
81
|
@rootless = false
|
82
|
+
|
83
|
+
@profile = ENV['profile'] || :default
|
75
84
|
end
|
76
85
|
|
77
86
|
#
|
78
|
-
# QED can use either
|
79
|
-
#
|
80
|
-
#
|
87
|
+
# QED can use either a maser configuration file, via the Confection
|
88
|
+
# library, or more traditional toplevel or task directory files. Only
|
89
|
+
# one of these two approaches can be used and the traditional
|
90
|
+
# system, if used, will override use of the confection system.
|
91
|
+
#
|
92
|
+
# Using a master configuraiton file, add for example:
|
93
|
+
#
|
94
|
+
# config :qed, :simplecov do
|
95
|
+
# require 'simplecov'
|
96
|
+
# SimpleCov.start do
|
97
|
+
# coverage_dir 'log/coverage'
|
98
|
+
# end
|
99
|
+
# end
|
100
|
+
#
|
101
|
+
# If using a traditional configuration file, which can be either of
|
102
|
+
# `.qed`, `.qed.rb` or `qed.rb`, case-insensitive, or a `task/<name>.qed`
|
103
|
+
# located file, use the `#profile` method to define different profiles.
|
81
104
|
#
|
82
|
-
#
|
83
|
-
#
|
84
|
-
#
|
105
|
+
# profile :simplecov do
|
106
|
+
# require 'simplecov'
|
107
|
+
# SimpleCov.start do
|
108
|
+
# coverage_dir 'log/coverage'
|
109
|
+
# end
|
110
|
+
# end
|
85
111
|
#
|
86
112
|
def initialize_configuration
|
87
113
|
@profiles = {}
|
88
114
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
end
|
115
|
+
# traditional
|
116
|
+
Dir.glob(File.join(root, CONFIG_GLOB), File::FNM_CASEFOLD).each do |file|
|
117
|
+
next unless File.file?(file)
|
118
|
+
instance_eval(File.read(file), file)
|
94
119
|
end
|
95
120
|
|
96
|
-
|
97
|
-
|
98
|
-
|
121
|
+
# task directory config files
|
122
|
+
Dir.glob(File.join(root, 'task/*.qed')).each do |file|
|
123
|
+
next unless File.file?(file)
|
124
|
+
instance_eval(File.read(file), file)
|
99
125
|
end
|
100
126
|
|
101
|
-
|
102
|
-
|
127
|
+
# don't use confection gem if other approaches are being used.
|
128
|
+
return unless @profiles.empty?
|
129
|
+
|
130
|
+
# confection
|
131
|
+
if confection_file
|
132
|
+
require 'confection'
|
133
|
+
Confection.profiles(:qed).each do |name|
|
134
|
+
@profiles[name.to_s] = lambda{ load_profile_from_confection(name) }
|
135
|
+
end
|
103
136
|
end
|
104
137
|
end
|
105
138
|
|
106
139
|
# Lookup Confection config file.
|
107
140
|
def confection_file
|
108
|
-
Dir.glob(File.join(root,
|
141
|
+
Dir.glob(File.join(root, CONFECTION_GLOB), File::FNM_CASEFOLD).first
|
109
142
|
end
|
110
143
|
|
111
144
|
# Demonstration files (or globs).
|
@@ -213,10 +246,11 @@ module QED
|
|
213
246
|
#
|
214
247
|
# @return [Proc] The procedure.
|
215
248
|
#
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
249
|
+
def profile(name=nil, &block)
|
250
|
+
return @profile unless name
|
251
|
+
return @profile[name.to_s] unless block
|
252
|
+
@profiles[name.to_s] = block
|
253
|
+
end
|
220
254
|
|
221
255
|
#
|
222
256
|
# Profiles are collected from the Confection library, unless
|
@@ -238,7 +272,7 @@ module QED
|
|
238
272
|
|
239
273
|
private
|
240
274
|
|
241
|
-
# TODO: find
|
275
|
+
# TODO: find a way to not need $ROOT global.
|
242
276
|
|
243
277
|
#
|
244
278
|
# Locate project's root directory. This is done by searching upward
|
@@ -289,7 +323,7 @@ module QED
|
|
289
323
|
# "Please add one of them to your project to proceed."
|
290
324
|
end
|
291
325
|
|
292
|
-
# TODO: Use Dir.ascend from Ruby Facets
|
326
|
+
# TODO: Use Dir.ascend from Ruby Facets ?
|
293
327
|
|
294
328
|
#
|
295
329
|
# Lookup path +glob+, searching each higher directory
|
@@ -313,6 +347,8 @@ module QED
|
|
313
347
|
)
|
314
348
|
end
|
315
349
|
|
350
|
+
# TODO: Support .map in future ?
|
351
|
+
|
316
352
|
##
|
317
353
|
## Return cached file map from a project's `.map` file, if it exists.
|
318
354
|
##
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.8.
|
4
|
+
version: 2.8.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ansi
|
16
|
-
requirement: &
|
16
|
+
requirement: &28672460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *28672460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: facets
|
27
|
-
requirement: &
|
27
|
+
requirement: &28671560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '2.8'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *28671560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: brass
|
38
|
-
requirement: &
|
38
|
+
requirement: &28671020 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *28671020
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: confection
|
49
|
-
requirement: &
|
49
|
+
requirement: &28670240 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *28670240
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: detroit
|
60
|
-
requirement: &
|
60
|
+
requirement: &28669640 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *28669640
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: ae
|
71
|
-
requirement: &
|
71
|
+
requirement: &28669100 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *28669100
|
80
80
|
description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
|
81
81
|
|
82
82
|
utilizing Literate Programming techniques.'
|