yard-cucumber2 2.3.3

Sign up to get free protection for your applications and to get access to all the features.
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: