yard-cucumber 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/Rakefile +1 -1
- data/lib/templates/default/fulldoc/html/setup.rb +48 -16
- data/lib/templates/default/requirements/html/requirements.erb +1 -1
- data/lib/yard-cucumber.rb +1 -1
- metadata +3 -3
data/History.txt
CHANGED
data/Rakefile
CHANGED
@@ -2,47 +2,66 @@ include YARD::Templates::Helpers::HtmlHelper
|
|
2
2
|
|
3
3
|
def init
|
4
4
|
super
|
5
|
+
|
6
|
+
# Additional javascript that power the additional menus, collapsing, etc.
|
5
7
|
asset("js/cucumber.js",file("js/cucumber.js",true))
|
6
8
|
|
9
|
+
#
|
10
|
+
# Generate pages for each feature, with the 'feature' template and then
|
11
|
+
# generate the page which is the full list of features
|
12
|
+
#
|
13
|
+
|
7
14
|
@features = Registry.all(:feature)
|
8
15
|
|
9
16
|
if @features
|
10
17
|
@features.each {|feature| serialize(feature) }
|
11
|
-
generate_full_list @features.sort {|x,y| x.value.to_s <=> y.value.to_s }
|
18
|
+
generate_full_list @features.sort {|x,y| x.value.to_s <=> y.value.to_s }, :feature
|
12
19
|
end
|
13
20
|
|
21
|
+
#
|
22
|
+
# Generate pages for each tag, with the 'tag' template and then generate the
|
23
|
+
# page which is the full list of tags. Tags are ordered in descending order
|
24
|
+
# by the size of how many scenarios that the affect
|
25
|
+
#
|
26
|
+
|
14
27
|
@tags = Registry.all(:tag)
|
15
28
|
|
16
29
|
if @tags
|
17
30
|
@tags.each {|tag| serialize(tag) }
|
18
|
-
generate_full_list @tags.sort {|x,y| y.all_scenarios.size <=> x.all_scenarios.size }
|
31
|
+
generate_full_list @tags.sort {|x,y| y.all_scenarios.size <=> x.all_scenarios.size }, :tag
|
19
32
|
end
|
20
33
|
|
21
|
-
|
22
|
-
|
23
|
-
|
34
|
+
# Generates the requirements splash page with the 'requirements' template
|
24
35
|
serialize(YARD::CodeObjects::Cucumber::CUCUMBER_NAMESPACE)
|
36
|
+
|
37
|
+
# Generates a page for step definitions and step transforms with the 'steptransformers' template
|
25
38
|
serialize(YARD::CodeObjects::Cucumber::CUCUMBER_STEPTRANSFORM_NAMESPACE)
|
39
|
+
|
40
|
+
# Generates the tags page with the 'featuretags' template
|
26
41
|
serialize(YARD::CodeObjects::Cucumber::CUCUMBER_TAG_NAMESPACE)
|
42
|
+
|
43
|
+
# Generate pages for each of the directories with features with the 'featuredirectory' template
|
44
|
+
feature_directories = YARD::CodeObjects::Cucumber::CUCUMBER_NAMESPACE.children.find_all {|child| child.is_a?(YARD::CodeObjects::Cucumber::FeatureDirectory) }
|
27
45
|
serialize_feature_directories(feature_directories)
|
28
46
|
|
29
47
|
end
|
30
48
|
|
31
|
-
|
32
|
-
|
33
|
-
|
49
|
+
#
|
50
|
+
# Generate a full_list page of the specified objects with the specified type.
|
51
|
+
#
|
52
|
+
def generate_full_list(objects,list_type,friendly_name=nil)
|
34
53
|
@items = objects
|
35
|
-
@list_type = "#{
|
36
|
-
@list_title = "#{friendly_name ||
|
54
|
+
@list_type = "#{list_type}s"
|
55
|
+
@list_title = "#{friendly_name || list_type.to_s.capitalize} List"
|
37
56
|
@list_class = "class"
|
38
|
-
asset("#{
|
39
|
-
else
|
40
|
-
log.warn "Full List: Failed to create a list because the objects array is empty."
|
41
|
-
end
|
57
|
+
asset("#{list_type}_list.html",erb(:full_list))
|
42
58
|
end
|
43
59
|
|
44
60
|
#
|
45
|
-
#
|
61
|
+
# The existing 'Class List' search field would normally contain the Cucumber
|
62
|
+
# Namespace object that has been added. Here we call the class_list method
|
63
|
+
# that is contained in the YARD template and we remove the namespace. Returning
|
64
|
+
# it when we are done.
|
46
65
|
#
|
47
66
|
def class_list(root = Registry.root)
|
48
67
|
root.instance_eval { children.delete YARD::CodeObjects::Cucumber::CUCUMBER_NAMESPACE } if root == Registry.root
|
@@ -51,6 +70,11 @@ def class_list(root = Registry.root)
|
|
51
70
|
out
|
52
71
|
end
|
53
72
|
|
73
|
+
#
|
74
|
+
# Generate a page for each Feature Directory. This is called recursively to
|
75
|
+
# ensure that all feature directories contained as children are rendered to
|
76
|
+
# pages.
|
77
|
+
#
|
54
78
|
def serialize_feature_directories(namespaces)
|
55
79
|
namespaces.each do |namespace|
|
56
80
|
Templates::Engine.with_serializer(namespace, options[:serializer]) do
|
@@ -61,10 +85,18 @@ def serialize_feature_directories(namespaces)
|
|
61
85
|
end
|
62
86
|
end
|
63
87
|
|
88
|
+
#
|
89
|
+
# Generate a link to the 'All Features' in the features_list.html
|
90
|
+
#
|
91
|
+
# When there are no feature directories or multiple top-level feature directories
|
92
|
+
# then we want to link to the 'Requirements' page
|
93
|
+
#
|
94
|
+
# When there are is just one feature directory then we want to link to that directory
|
95
|
+
#
|
64
96
|
def all_features_link
|
65
97
|
root_feature_directories = YARD::CodeObjects::Cucumber::CUCUMBER_NAMESPACE.children.find_all {|child| child.is_a?(YARD::CodeObjects::Cucumber::FeatureDirectory)}
|
66
98
|
|
67
|
-
if root_feature_directories.length > 1
|
99
|
+
if root_feature_directories.length == 0 || root_feature_directories.length > 1
|
68
100
|
linkify YARD::CodeObjects::Cucumber::CUCUMBER_NAMESPACE, "All Features"
|
69
101
|
else
|
70
102
|
linkify root_feature_directories.first, "All Features"
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<a href="http://cukes.info/">Cucumber</a> |
|
5
5
|
<a href="http://github.com/aslakhellesoy/cucumber/wiki/Gherkin">Gherkin</a> |
|
6
6
|
<a href="http://yardoc.org/">YARD</a> |
|
7
|
-
<a href="
|
7
|
+
<a href="https://github.com/burtlo/yard-cucumber">YARD-Cucumber</a>
|
8
8
|
</div>
|
9
9
|
|
10
10
|
<div class="requirements">
|
data/lib/yard-cucumber.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: yard-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.0.
|
5
|
+
version: 2.0.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Franklin Webber
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-04-06 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -143,7 +143,7 @@ homepage: http://github.com/burtlo/yard-cucumber
|
|
143
143
|
licenses: []
|
144
144
|
|
145
145
|
post_install_message: "\n\
|
146
|
-
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)\n\n Thank you for installing yard-cucumber 2.0.
|
146
|
+
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)\n\n Thank you for installing yard-cucumber 2.0.2 / 2011-04-06.\n \n Changes:\n \n - No Features/Tags will still generate landing pages instead of no pages\n - Changed link to current gem 'yard-cucumber'\n \n\n\
|
147
147
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)\n\n"
|
148
148
|
rdoc_options:
|
149
149
|
- --charset=UTF-8
|