yard-cucumber 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|