yard-cucumber2 2.3.3

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.
Files changed (93) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/.rspec +3 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +5 -0
  7. data/Gemfile.lock +37 -0
  8. data/History.txt +274 -0
  9. data/LICENSE.txt +22 -0
  10. data/README.md +188 -0
  11. data/Rakefile +25 -0
  12. data/example/README.md +8 -0
  13. data/example/child_feature/README.md +21 -0
  14. data/example/child_feature/child.feature +11 -0
  15. data/example/child_feature/grandchild_feature/grandchild.feature +12 -0
  16. data/example/empty.feature +2 -0
  17. data/example/french.feature +18 -0
  18. data/example/scenario.feature +63 -0
  19. data/example/scenario_outline.feature +94 -0
  20. data/example/scenario_outline_multi.feature +15 -0
  21. data/example/step_definitions/example.step.rb +109 -0
  22. data/example/step_definitions/first.step.rb +21 -0
  23. data/example/step_definitions/french_steps.rb +32 -0
  24. data/example/step_definitions/struct.rb +11 -0
  25. data/example/step_definitions/support/env.rb +7 -0
  26. data/example/step_definitions/support/env_support.rb +12 -0
  27. data/example/step_definitions/support/support.rb +6 -0
  28. data/example/tags.feature +18 -0
  29. data/example/transform.feature +13 -0
  30. data/lib/cucumber/city_builder.rb +331 -0
  31. data/lib/docserver/default/fulldoc/html/js/cucumber.js +85 -0
  32. data/lib/docserver/default/layout/html/headers.erb +14 -0
  33. data/lib/docserver/doc_server/full_list/html/full_list.erb +39 -0
  34. data/lib/docserver/doc_server/full_list/html/setup.rb +18 -0
  35. data/lib/templates/default/feature/html/feature.erb +39 -0
  36. data/lib/templates/default/feature/html/no_steps_defined.erb +1 -0
  37. data/lib/templates/default/feature/html/outline.erb +56 -0
  38. data/lib/templates/default/feature/html/pystring.erb +3 -0
  39. data/lib/templates/default/feature/html/scenario.erb +55 -0
  40. data/lib/templates/default/feature/html/setup.rb +55 -0
  41. data/lib/templates/default/feature/html/steps.erb +39 -0
  42. data/lib/templates/default/feature/html/table.erb +20 -0
  43. data/lib/templates/default/featuredirectory/html/alpha_table.erb +30 -0
  44. data/lib/templates/default/featuredirectory/html/directory.erb +32 -0
  45. data/lib/templates/default/featuredirectory/html/setup.rb +41 -0
  46. data/lib/templates/default/featuretags/html/namespace.erb +131 -0
  47. data/lib/templates/default/featuretags/html/setup.rb +34 -0
  48. data/lib/templates/default/fulldoc/html/css/cucumber.css +227 -0
  49. data/lib/templates/default/fulldoc/html/directories.erb +53 -0
  50. data/lib/templates/default/fulldoc/html/full_list_featuredirectories.erb +11 -0
  51. data/lib/templates/default/fulldoc/html/full_list_features.erb +29 -0
  52. data/lib/templates/default/fulldoc/html/full_list_stepdefinitions.erb +16 -0
  53. data/lib/templates/default/fulldoc/html/full_list_steps.erb +17 -0
  54. data/lib/templates/default/fulldoc/html/full_list_tags.erb +12 -0
  55. data/lib/templates/default/fulldoc/html/js/cucumber.js +305 -0
  56. data/lib/templates/default/fulldoc/html/setup.rb +175 -0
  57. data/lib/templates/default/layout/html/setup.rb +56 -0
  58. data/lib/templates/default/requirements/html/alpha_table.erb +26 -0
  59. data/lib/templates/default/requirements/html/requirements.erb +50 -0
  60. data/lib/templates/default/requirements/html/setup.rb +51 -0
  61. data/lib/templates/default/steptransformers/html/header.erb +12 -0
  62. data/lib/templates/default/steptransformers/html/index.erb +10 -0
  63. data/lib/templates/default/steptransformers/html/setup.rb +94 -0
  64. data/lib/templates/default/steptransformers/html/transformers.erb +79 -0
  65. data/lib/templates/default/steptransformers/html/undefinedsteps.erb +26 -0
  66. data/lib/templates/default/tag/html/alpha_table.erb +32 -0
  67. data/lib/templates/default/tag/html/setup.rb +27 -0
  68. data/lib/templates/default/tag/html/tag.erb +35 -0
  69. data/lib/yard-cucumber.rb +47 -0
  70. data/lib/yard-cucumber/version.rb +3 -0
  71. data/lib/yard/code_objects/cucumber/base.rb +32 -0
  72. data/lib/yard/code_objects/cucumber/feature.rb +18 -0
  73. data/lib/yard/code_objects/cucumber/namespace_object.rb +49 -0
  74. data/lib/yard/code_objects/cucumber/scenario.rb +26 -0
  75. data/lib/yard/code_objects/cucumber/scenario_outline.rb +75 -0
  76. data/lib/yard/code_objects/cucumber/step.rb +38 -0
  77. data/lib/yard/code_objects/cucumber/tag.rb +27 -0
  78. data/lib/yard/code_objects/step_definition.rb +7 -0
  79. data/lib/yard/code_objects/step_transform.rb +7 -0
  80. data/lib/yard/code_objects/step_transformer.rb +97 -0
  81. data/lib/yard/handlers/cucumber/base.rb +21 -0
  82. data/lib/yard/handlers/cucumber/feature_handler.rb +131 -0
  83. data/lib/yard/handlers/legacy/step_definition_handler.rb +45 -0
  84. data/lib/yard/handlers/legacy/step_transform_handler.rb +24 -0
  85. data/lib/yard/handlers/step_definition_handler.rb +86 -0
  86. data/lib/yard/handlers/step_transform_handler.rb +31 -0
  87. data/lib/yard/parser/cucumber/feature.rb +73 -0
  88. data/lib/yard/server/adapter.rb +43 -0
  89. data/lib/yard/server/commands/list_command.rb +31 -0
  90. data/lib/yard/server/router.rb +32 -0
  91. data/lib/yard/templates/helpers/base_helper.rb +26 -0
  92. data/yard-cucumber.gemspec +65 -0
  93. metadata +199 -0
@@ -0,0 +1,31 @@
1
+ module YARD
2
+ module Server
3
+ module Commands
4
+
5
+ #
6
+ # List Features powers the features menu option in `yard server`
7
+ #
8
+ class ListFeaturesCommand < ListCommand
9
+ def type; :features end
10
+
11
+ def items
12
+ Registry.load_all
13
+ run_verifier(Registry.all(:feature))
14
+ end
15
+ end
16
+
17
+ #
18
+ # List Tags powers the tags menu option in `yard server`
19
+ #
20
+ class ListTagsCommand < ListCommand
21
+ def type; :tags end
22
+
23
+ def items
24
+ Registry.load_all
25
+ run_verifier(Registry.all(:tag).sort_by {|t| t.value.to_s })
26
+ end
27
+ end
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,32 @@
1
+ module YARD
2
+ module Server
3
+
4
+ #
5
+ # The YARD::Server::Router needs the following modification,
6
+ # so that it will provide routing for the features and tags commands
7
+ # to their appropriate definitions
8
+ #
9
+ Router.class_eval do
10
+
11
+ alias_method :core_route_list, :route_list
12
+
13
+ #
14
+ # Provide the full list of features and tags
15
+ #
16
+ def route_list(library, paths)
17
+
18
+ if paths && !paths.empty? && paths.first =~ /^(?:features|tags)$/
19
+ case paths.shift
20
+ when "features"; cmd = Commands::ListFeaturesCommand
21
+ when "tags"; cmd = Commands::ListTagsCommand
22
+ end
23
+ cmd.new(final_options(library, paths)).call(request)
24
+ else
25
+ core_route_list(library,paths)
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,26 @@
1
+ module YARD::Templates::Helpers
2
+
3
+ module BaseHelper
4
+
5
+ def format_object_title(object)
6
+ if object.is_a?(YARD::CodeObjects::Cucumber::FeatureTags)
7
+ "Tags"
8
+ elsif object.is_a?(YARD::CodeObjects::Cucumber::StepTransformersObject)
9
+ "Step Definitions and Transforms"
10
+ elsif object.is_a?(YARD::CodeObjects::Cucumber::NamespaceObject)
11
+ "#{format_object_type(object)}#{object.value ? ": #{object.value}" : ''}"
12
+ elsif object.is_a?(YARD::CodeObjects::Cucumber::FeatureDirectory)
13
+ "Feature Directory: #{object.name}"
14
+ else
15
+ case object
16
+ when YARD::CodeObjects::RootObject
17
+ "Top Level Namespace"
18
+ else
19
+ format_object_type(object) + ": " + object.path
20
+ end
21
+ end
22
+ end
23
+
24
+ end
25
+
26
+ end
@@ -0,0 +1,65 @@
1
+ require File.dirname(__FILE__) + "/lib/yard-cucumber/version"
2
+
3
+ module CucumberInTheYARD
4
+ def self.show_version_changes(version)
5
+ date = ""
6
+ changes = []
7
+ grab_changes = false
8
+
9
+ File.open("#{File.dirname(__FILE__)}/History.txt",'r') do |file|
10
+ while (line = file.gets) do
11
+
12
+ if line =~ /^===\s*#{version.gsub('.','\.')}\s*\/\s*(.+)\s*$/
13
+ grab_changes = true
14
+ date = $1.strip
15
+ elsif line =~ /^===\s*.+$/
16
+ grab_changes = false
17
+ elsif grab_changes
18
+ changes = changes << line
19
+ end
20
+
21
+ end
22
+ end
23
+
24
+ { :date => date, :changes => changes }
25
+ end
26
+ end
27
+
28
+ Gem::Specification.new do |s|
29
+ s.name = 'yard-cucumber2'
30
+ s.version = '2.3.3'
31
+ s.authors = ["Justin Commu"]
32
+ s.description = %{
33
+ This is simply a published fork of yard-cucumber that works with Cucumber 2.0+, all thanks goes to pghalliday & burtlo }
34
+ s.summary = "Cucumber 2.0+ Compatible version of Cucumber-YARD"
35
+ s.email = 'jcommu@@gmail.com'
36
+ s.homepage = "http://github.com/tk8817/yard-cucumber2"
37
+ s.license = 'MIT'
38
+
39
+ s.platform = Gem::Platform::RUBY
40
+
41
+ changes = CucumberInTheYARD.show_version_changes(::CucumberInTheYARD::VERSION)
42
+
43
+ s.post_install_message = %{
44
+ (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
45
+
46
+ Thank you for installing yard-cucumber #{::CucumberInTheYARD::VERSION} / #{changes[:date]}.
47
+
48
+ Changes:
49
+ #{changes[:changes].collect{|change| " #{change}"}.join("")}
50
+ (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
51
+
52
+ }
53
+
54
+ s.add_development_dependency 'rake'
55
+
56
+ s.add_dependency 'gherkin', '~> 2.12'
57
+ s.add_dependency 'cucumber', '>= 1.3.0'
58
+ s.add_dependency 'yard', '>= 0.8.1'
59
+
60
+ s.rubygems_version = "1.3.7"
61
+ s.files = `git ls-files`.split("\n")
62
+ s.extra_rdoc_files = ["README.md", "History.txt"]
63
+ s.rdoc_options = ["--charset=UTF-8"]
64
+ s.require_path = "lib"
65
+ end
metadata ADDED
@@ -0,0 +1,199 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yard-cucumber2
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.3.3
5
+ platform: ruby
6
+ authors:
7
+ - Justin Commu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-11-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: gherkin
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.12'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.12'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cucumber
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.3.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: yard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.8.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.8.1
69
+ description: "\n This is simply a published fork of yard-cucumber that works with
70
+ Cucumber 2.0+, all thanks goes to pghalliday & burtlo "
71
+ email: jcommu@@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files:
75
+ - README.md
76
+ - History.txt
77
+ files:
78
+ - ".gitignore"
79
+ - ".rspec"
80
+ - ".ruby-gemset"
81
+ - ".ruby-version"
82
+ - Gemfile
83
+ - Gemfile.lock
84
+ - History.txt
85
+ - LICENSE.txt
86
+ - README.md
87
+ - Rakefile
88
+ - example/README.md
89
+ - example/child_feature/README.md
90
+ - example/child_feature/child.feature
91
+ - example/child_feature/grandchild_feature/grandchild.feature
92
+ - example/empty.feature
93
+ - example/french.feature
94
+ - example/scenario.feature
95
+ - example/scenario_outline.feature
96
+ - example/scenario_outline_multi.feature
97
+ - example/step_definitions/example.step.rb
98
+ - example/step_definitions/first.step.rb
99
+ - example/step_definitions/french_steps.rb
100
+ - example/step_definitions/struct.rb
101
+ - example/step_definitions/support/env.rb
102
+ - example/step_definitions/support/env_support.rb
103
+ - example/step_definitions/support/support.rb
104
+ - example/tags.feature
105
+ - example/transform.feature
106
+ - lib/cucumber/city_builder.rb
107
+ - lib/docserver/default/fulldoc/html/js/cucumber.js
108
+ - lib/docserver/default/layout/html/headers.erb
109
+ - lib/docserver/doc_server/full_list/html/full_list.erb
110
+ - lib/docserver/doc_server/full_list/html/setup.rb
111
+ - lib/templates/default/feature/html/feature.erb
112
+ - lib/templates/default/feature/html/no_steps_defined.erb
113
+ - lib/templates/default/feature/html/outline.erb
114
+ - lib/templates/default/feature/html/pystring.erb
115
+ - lib/templates/default/feature/html/scenario.erb
116
+ - lib/templates/default/feature/html/setup.rb
117
+ - lib/templates/default/feature/html/steps.erb
118
+ - lib/templates/default/feature/html/table.erb
119
+ - lib/templates/default/featuredirectory/html/alpha_table.erb
120
+ - lib/templates/default/featuredirectory/html/directory.erb
121
+ - lib/templates/default/featuredirectory/html/setup.rb
122
+ - lib/templates/default/featuretags/html/namespace.erb
123
+ - lib/templates/default/featuretags/html/setup.rb
124
+ - lib/templates/default/fulldoc/html/css/cucumber.css
125
+ - lib/templates/default/fulldoc/html/directories.erb
126
+ - lib/templates/default/fulldoc/html/full_list_featuredirectories.erb
127
+ - lib/templates/default/fulldoc/html/full_list_features.erb
128
+ - lib/templates/default/fulldoc/html/full_list_stepdefinitions.erb
129
+ - lib/templates/default/fulldoc/html/full_list_steps.erb
130
+ - lib/templates/default/fulldoc/html/full_list_tags.erb
131
+ - lib/templates/default/fulldoc/html/js/cucumber.js
132
+ - lib/templates/default/fulldoc/html/setup.rb
133
+ - lib/templates/default/layout/html/setup.rb
134
+ - lib/templates/default/requirements/html/alpha_table.erb
135
+ - lib/templates/default/requirements/html/requirements.erb
136
+ - lib/templates/default/requirements/html/setup.rb
137
+ - lib/templates/default/steptransformers/html/header.erb
138
+ - lib/templates/default/steptransformers/html/index.erb
139
+ - lib/templates/default/steptransformers/html/setup.rb
140
+ - lib/templates/default/steptransformers/html/transformers.erb
141
+ - lib/templates/default/steptransformers/html/undefinedsteps.erb
142
+ - lib/templates/default/tag/html/alpha_table.erb
143
+ - lib/templates/default/tag/html/setup.rb
144
+ - lib/templates/default/tag/html/tag.erb
145
+ - lib/yard-cucumber.rb
146
+ - lib/yard-cucumber/version.rb
147
+ - lib/yard/code_objects/cucumber/base.rb
148
+ - lib/yard/code_objects/cucumber/feature.rb
149
+ - lib/yard/code_objects/cucumber/namespace_object.rb
150
+ - lib/yard/code_objects/cucumber/scenario.rb
151
+ - lib/yard/code_objects/cucumber/scenario_outline.rb
152
+ - lib/yard/code_objects/cucumber/step.rb
153
+ - lib/yard/code_objects/cucumber/tag.rb
154
+ - lib/yard/code_objects/step_definition.rb
155
+ - lib/yard/code_objects/step_transform.rb
156
+ - lib/yard/code_objects/step_transformer.rb
157
+ - lib/yard/handlers/cucumber/base.rb
158
+ - lib/yard/handlers/cucumber/feature_handler.rb
159
+ - lib/yard/handlers/legacy/step_definition_handler.rb
160
+ - lib/yard/handlers/legacy/step_transform_handler.rb
161
+ - lib/yard/handlers/step_definition_handler.rb
162
+ - lib/yard/handlers/step_transform_handler.rb
163
+ - lib/yard/parser/cucumber/feature.rb
164
+ - lib/yard/server/adapter.rb
165
+ - lib/yard/server/commands/list_command.rb
166
+ - lib/yard/server/router.rb
167
+ - lib/yard/templates/helpers/base_helper.rb
168
+ - yard-cucumber.gemspec
169
+ homepage: http://github.com/tk8817/yard-cucumber2
170
+ licenses:
171
+ - MIT
172
+ metadata: {}
173
+ post_install_message: "\n(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
174
+ (::) (::) (::)\n\n Thank you for installing yard-cucumber 2.3.2 / 2013-11-08.\n\n
175
+ \ Changes:\n \n * De-duping uses of step definitions when the line number is
176
+ the same (ipwnstuff)\n \n\n(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
177
+ (::) (::) (::) (::)\n\n"
178
+ rdoc_options:
179
+ - "--charset=UTF-8"
180
+ require_paths:
181
+ - lib
182
+ required_ruby_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ required_rubygems_version: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ requirements: []
193
+ rubyforge_project:
194
+ rubygems_version: 2.2.5
195
+ signing_key:
196
+ specification_version: 4
197
+ summary: Cucumber 2.0+ Compatible version of Cucumber-YARD
198
+ test_files: []
199
+ has_rdoc: