yard-cucumber 2.2.3 → 2.3.0
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.
- checksums.yaml +7 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +15 -13
- data/History.txt +5 -0
- data/city.gemspec +2 -2
- data/lib/cucumber/city_builder.rb +49 -51
- data/lib/yard-cucumber.rb +1 -0
- data/lib/yard-cucumber/version.rb +1 -1
- data/lib/yard/code_objects/step_transformer.rb +21 -19
- data/lib/yard/handlers/step_definition_handler.rb +4 -7
- metadata +25 -33
- data/.rvmrc +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 141a8f048e0ec232851c10aefa060821c1885684
|
4
|
+
data.tar.gz: bcfbe2d833588a9494394773037fada8dab64d31
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 31b2dc9fcd5d5455e7909f722598474fd74a618b6f43bccdfcd078c064f70159ee72850917e7b6e95d94f47d767ddc7698fdb2013eb1a2e24b8e0a228bacadf8
|
7
|
+
data.tar.gz: 8d11412d13f7e4eaf317f7123be3b8a9805451164479e4fcd7d306b596b32220e590183b35c5bafdb8f533cfc16853be51067dec5b8915256ac1c7d65976da50
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
yard-cucumber
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.0.0-p195
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,26 +1,28 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
yard-cucumber (2.
|
5
|
-
cucumber (
|
6
|
-
gherkin (
|
4
|
+
yard-cucumber (2.3.0)
|
5
|
+
cucumber (~> 1.3)
|
6
|
+
gherkin (~> 2.12)
|
7
7
|
yard (>= 0.8.1)
|
8
8
|
|
9
9
|
GEM
|
10
|
-
remote:
|
10
|
+
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
builder (3.
|
13
|
-
cucumber (1.
|
12
|
+
builder (3.2.2)
|
13
|
+
cucumber (1.3.3)
|
14
14
|
builder (>= 2.1.2)
|
15
15
|
diff-lcs (>= 1.1.3)
|
16
|
-
gherkin (~> 2.
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
gherkin (~> 2.12.0)
|
17
|
+
multi_json (~> 1.7.5)
|
18
|
+
multi_test (~> 0.0.1)
|
19
|
+
diff-lcs (1.2.4)
|
20
|
+
gherkin (2.12.0)
|
21
|
+
multi_json (~> 1.3)
|
22
|
+
multi_json (1.7.7)
|
23
|
+
multi_test (0.0.1)
|
22
24
|
redcarpet (2.2.2)
|
23
|
-
yard (0.8.
|
25
|
+
yard (0.8.6.2)
|
24
26
|
|
25
27
|
PLATFORMS
|
26
28
|
ruby
|
data/History.txt
CHANGED
data/city.gemspec
CHANGED
@@ -53,8 +53,8 @@ Gem::Specification.new do |s|
|
|
53
53
|
|
54
54
|
}
|
55
55
|
|
56
|
-
s.add_dependency 'gherkin', '
|
57
|
-
s.add_dependency 'cucumber', '
|
56
|
+
s.add_dependency 'gherkin', '~> 2.12'
|
57
|
+
s.add_dependency 'cucumber', '~> 1.3'
|
58
58
|
s.add_dependency 'yard', '>= 0.8.1'
|
59
59
|
|
60
60
|
s.rubygems_version = "1.3.7"
|
@@ -2,19 +2,19 @@ module Cucumber
|
|
2
2
|
module Parser
|
3
3
|
class CityBuilder
|
4
4
|
include Gherkin::Rubify
|
5
|
-
|
5
|
+
|
6
6
|
#
|
7
7
|
# The Gherkin Parser is going to call the various methods within this
|
8
8
|
# class as it finds items. This is similar to how Cucumber generates
|
9
9
|
# it's Abstract Syntax Tree (AST). Here instead this generates the
|
10
10
|
# various YARD::CodeObjects defined within this template.
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# A namespace is specified and that is the place in the YARD namespacing
|
13
13
|
# where all cucumber features generated will reside. The namespace specified
|
14
14
|
# is the root namespaces.
|
15
|
-
#
|
15
|
+
#
|
16
16
|
# @param [String] file the name of the file which the content belongs
|
17
|
-
#
|
17
|
+
#
|
18
18
|
def initialize(file)
|
19
19
|
@namespace = YARD::CodeObjects::Cucumber::CUCUMBER_NAMESPACE
|
20
20
|
find_or_create_namespace(file)
|
@@ -24,29 +24,29 @@ module Cucumber
|
|
24
24
|
# Return the feature that has been defined. This method is the final
|
25
25
|
# method that is called when all the work is done. It is called by
|
26
26
|
# the feature parser to return the complete Feature object that was created
|
27
|
-
#
|
27
|
+
#
|
28
28
|
# @return [YARD::CodeObject::Cucumber::Feature] the completed feature
|
29
|
-
#
|
29
|
+
#
|
30
30
|
# @see YARD::Parser::Cucumber::FeatureParser
|
31
31
|
def ast
|
32
32
|
@feature
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
#
|
36
36
|
# Feature that are found in sub-directories are considered, in the way
|
37
37
|
# that I chose to implement it, in another namespace. This is because
|
38
38
|
# when you execute a cucumber test run on a directory any sub-directories
|
39
39
|
# of features will be executed with that directory so the file is split
|
40
40
|
# and then namespaces are generated if they have not already have been.
|
41
|
-
#
|
41
|
+
#
|
42
42
|
# The other duty that this does is look for a README.md file within the
|
43
43
|
# specified directory of the file and loads it as the description for the
|
44
44
|
# namespace. This is useful if you want to give a particular directory
|
45
45
|
# some flavor or text to describe what is going on.
|
46
|
-
#
|
46
|
+
#
|
47
47
|
def find_or_create_namespace(file)
|
48
48
|
@namespace = YARD::CodeObjects::Cucumber::CUCUMBER_NAMESPACE
|
49
|
-
|
49
|
+
|
50
50
|
File.dirname(file).split('/').each do |directory|
|
51
51
|
@namespace = @namespace.children.find {|child| child.is_a?(YARD::CodeObjects::Cucumber::FeatureDirectory) && child.name.to_s == directory } ||
|
52
52
|
@namespace = YARD::CodeObjects::Cucumber::FeatureDirectory.new(@namespace,directory) {|dir| dir.add_file(directory)}
|
@@ -56,20 +56,20 @@ module Cucumber
|
|
56
56
|
@namespace.description = File.read("#{File.dirname(file)}/README.md")
|
57
57
|
end
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
#
|
61
61
|
# Find the tag if it exists within the YARD Registry, if it doesn' t then
|
62
|
-
# create it.
|
63
|
-
#
|
62
|
+
# create it.
|
63
|
+
#
|
64
64
|
# We note that the tag was used in this file at the current line.
|
65
|
-
#
|
65
|
+
#
|
66
66
|
# Then we add the tag to the current scenario or feature. We also add the
|
67
67
|
# feature or scenario to the tag.
|
68
|
-
#
|
68
|
+
#
|
69
69
|
# @param [String] tag_name the name of the tag
|
70
70
|
# @param [parent] parent the scenario or feature that is going to adopt
|
71
71
|
# this tag.
|
72
|
-
#
|
72
|
+
#
|
73
73
|
def find_or_create_tag(tag_name,parent)
|
74
74
|
#log.debug "Processing tag #{tag_name}"
|
75
75
|
tag_code_object = YARD::Registry.all(:tag).find {|tag| tag.value == tag_name } ||
|
@@ -80,15 +80,15 @@ module Cucumber
|
|
80
80
|
parent.tags << tag_code_object unless parent.tags.find {|tag| tag == tag_code_object }
|
81
81
|
tag_code_object.owners << parent unless tag_code_object.owners.find {|owner| owner == parent}
|
82
82
|
end
|
83
|
-
|
83
|
+
|
84
84
|
#
|
85
85
|
# Each feature found will call this method, generating the feature object.
|
86
86
|
# This is once, as the gherking parser does not like multiple feature per
|
87
87
|
# file.
|
88
|
-
#
|
88
|
+
#
|
89
89
|
def feature(feature)
|
90
90
|
#log.debug "FEATURE"
|
91
|
-
|
91
|
+
|
92
92
|
@feature = YARD::CodeObjects::Cucumber::Feature.new(@namespace,File.basename(@file.gsub('.feature','').gsub('.','_'))) do |f|
|
93
93
|
f.comments = feature.comments.map{|comment| comment.value}.join("\n")
|
94
94
|
f.description = feature.description
|
@@ -100,14 +100,14 @@ module Cucumber
|
|
100
100
|
feature.tags.each {|feature_tag| find_or_create_tag(feature_tag.name,f) }
|
101
101
|
end
|
102
102
|
end
|
103
|
-
|
103
|
+
|
104
104
|
#
|
105
105
|
# Called when a background has been found
|
106
|
-
#
|
106
|
+
#
|
107
107
|
# @see #scenario
|
108
108
|
def background(background)
|
109
109
|
#log.debug "BACKGROUND"
|
110
|
-
|
110
|
+
|
111
111
|
@background = YARD::CodeObjects::Cucumber::Scenario.new(@feature,"background") do |b|
|
112
112
|
b.comments = background.comments.map{|comment| comment.value}.join("\n")
|
113
113
|
b.description = background.description
|
@@ -120,20 +120,20 @@ module Cucumber
|
|
120
120
|
@background.feature = @feature
|
121
121
|
@step_container = @background
|
122
122
|
end
|
123
|
-
|
123
|
+
|
124
124
|
#
|
125
125
|
# Called when a scenario has been found
|
126
126
|
# - create a scenario
|
127
127
|
# - assign the scenario to the feature
|
128
128
|
# - assign the feature to the scenario
|
129
129
|
# - find or create tags associated with the scenario
|
130
|
-
#
|
130
|
+
#
|
131
131
|
# The scenario is set as the @step_container, which means that any steps
|
132
132
|
# found before another scenario is defined belong to this scenario
|
133
|
-
#
|
133
|
+
#
|
134
134
|
# @param [Scenario] statement is a scenario object returned from Gherkin
|
135
135
|
# @see #find_or_create_tag
|
136
|
-
#
|
136
|
+
#
|
137
137
|
def scenario(statement)
|
138
138
|
#log.debug "SCENARIO"
|
139
139
|
|
@@ -151,17 +151,17 @@ module Cucumber
|
|
151
151
|
@feature.scenarios << scenario
|
152
152
|
@step_container = scenario
|
153
153
|
end
|
154
|
-
|
154
|
+
|
155
155
|
#
|
156
156
|
# Called when a scenario outline is found. Very similar to a scenario,
|
157
157
|
# the ScenarioOutline is still a distinct object as it can contain
|
158
158
|
# multiple different example groups that can contain different values.
|
159
|
-
#
|
159
|
+
#
|
160
160
|
# @see #scenario
|
161
|
-
#
|
161
|
+
#
|
162
162
|
def scenario_outline(statement)
|
163
163
|
#log.debug "SCENARIO OUTLINE"
|
164
|
-
|
164
|
+
|
165
165
|
outline = YARD::CodeObjects::Cucumber::ScenarioOutline.new(@feature,"scenario_#{@feature.scenarios.length + 1}") do |s|
|
166
166
|
s.comments = statement.comments.map{|comment| comment.value}.join("\n")
|
167
167
|
s.description = statement.description
|
@@ -182,18 +182,18 @@ module Cucumber
|
|
182
182
|
# from the Cucumber parser because here each of the examples are exploded
|
183
183
|
# out here as individual scenarios and step definitions. This is so that
|
184
184
|
# later we can ensure that we have all the variations of the scenario
|
185
|
-
# outline defined to be displayed.
|
186
|
-
#
|
185
|
+
# outline defined to be displayed.
|
186
|
+
#
|
187
187
|
def examples(examples)
|
188
188
|
#log.debug "EXAMPLES"
|
189
|
-
|
189
|
+
|
190
190
|
example = YARD::CodeObjects::Cucumber::ScenarioOutline::Examples.new(:keyword => examples.keyword,
|
191
191
|
:name => examples.name,
|
192
192
|
:line => examples.line,
|
193
193
|
:comments => examples.comments.map{|comment| comment.value}.join("\n"),
|
194
194
|
:rows => matrix(examples.rows))
|
195
|
-
|
196
|
-
|
195
|
+
|
196
|
+
|
197
197
|
# add the example to the step containers list of examples
|
198
198
|
|
199
199
|
@step_container.examples << example
|
@@ -202,7 +202,7 @@ module Cucumber
|
|
202
202
|
# current scenario as the template.
|
203
203
|
|
204
204
|
example.data.length.times do |row_index|
|
205
|
-
|
205
|
+
|
206
206
|
# Generate a copy of the scenario.
|
207
207
|
|
208
208
|
scenario = YARD::CodeObjects::Cucumber::Scenario.new(@step_container,"example_#{@step_container.scenarios.length + 1}") do |s|
|
@@ -234,32 +234,32 @@ module Cucumber
|
|
234
234
|
step_instance.text.gsub!("<#{key}>",text) if step_instance.has_text?
|
235
235
|
step_instance.table.each{|row| row.each{|col| col.gsub!("<#{key}>",text)}} if step_instance.has_table?
|
236
236
|
end
|
237
|
-
|
237
|
+
|
238
238
|
# Connect these steps that we created to the scenario we created
|
239
239
|
# and then add the steps to the scenario created.
|
240
|
-
|
240
|
+
|
241
241
|
step_instance.scenario = scenario
|
242
242
|
scenario.steps << step_instance
|
243
243
|
end
|
244
244
|
|
245
|
-
# Add the scenario to the list of scenarios maintained by the feature
|
245
|
+
# Add the scenario to the list of scenarios maintained by the feature
|
246
246
|
# and add the feature to the scenario
|
247
|
-
|
247
|
+
|
248
248
|
scenario.feature = @feature
|
249
249
|
@step_container.scenarios << scenario
|
250
|
-
|
250
|
+
|
251
251
|
end
|
252
|
-
|
252
|
+
|
253
253
|
end
|
254
254
|
|
255
|
-
#
|
255
|
+
#
|
256
256
|
# Called when a step is found. The step is refered to a table owner, though
|
257
257
|
# not all steps have a table or multliline arguments associated with them.
|
258
|
-
#
|
258
|
+
#
|
259
259
|
# If a multiline string is present with the step it is included as the text
|
260
260
|
# of the step. If the step has a table it is added to the step using the
|
261
261
|
# same method used by the Cucumber Gherkin model.
|
262
|
-
#
|
262
|
+
#
|
263
263
|
def step(step)
|
264
264
|
#log.debug "STEP"
|
265
265
|
|
@@ -279,8 +279,6 @@ module Cucumber
|
|
279
279
|
rubify(step.doc_string)
|
280
280
|
end
|
281
281
|
|
282
|
-
log.debug "Step: #{multiline_arg}"
|
283
|
-
|
284
282
|
case(multiline_arg)
|
285
283
|
when gherkin_multiline_string_class
|
286
284
|
@table_owner.text = multiline_arg.value
|
@@ -288,7 +286,7 @@ module Cucumber
|
|
288
286
|
#log.info "Matrix: #{matrix(multiline_arg).collect{|row| row.collect{|cell| cell.class } }.flatten.join("\n")}"
|
289
287
|
@table_owner.table = matrix(multiline_arg)
|
290
288
|
end
|
291
|
-
|
289
|
+
|
292
290
|
@table_owner.scenario = @step_container
|
293
291
|
@step_container.steps << @table_owner
|
294
292
|
end
|
@@ -306,11 +304,11 @@ module Cucumber
|
|
306
304
|
def matrix(gherkin_table)
|
307
305
|
gherkin_table.map {|gherkin_row| gherkin_row.cells }
|
308
306
|
end
|
309
|
-
|
307
|
+
|
310
308
|
#
|
311
309
|
# This helper method is used to deteremine what class is the current
|
312
310
|
# Gherkin class.
|
313
|
-
#
|
311
|
+
#
|
314
312
|
# @return [Class] the class that is the current supported Gherkin Model
|
315
313
|
# for multiline strings. Prior to Gherkin 2.4.0 this was the PyString
|
316
314
|
# class. As of Gherkin 2.4.0 it is the DocString class.
|
@@ -327,7 +325,7 @@ module Cucumber
|
|
327
325
|
def clone_table(base)
|
328
326
|
base.map {|row| row.map {|cell| cell.dup }}
|
329
327
|
end
|
330
|
-
|
328
|
+
|
331
329
|
end
|
332
330
|
end
|
333
331
|
end
|
data/lib/yard-cucumber.rb
CHANGED
@@ -5,29 +5,31 @@ module YARD::CodeObjects
|
|
5
5
|
|
6
6
|
include Cucumber::LocationHelper
|
7
7
|
|
8
|
-
attr_reader :constants, :keyword, :source, :value, :literal_value
|
9
|
-
attr_accessor :steps
|
10
|
-
|
8
|
+
attr_reader :constants, :keyword, :source, :value, :literal_value
|
9
|
+
attr_accessor :steps, :pending, :substeps
|
10
|
+
|
11
11
|
# This defines an escape pattern within a string or regex:
|
12
12
|
# /^the first #{CONSTANT} step$/
|
13
|
-
#
|
13
|
+
#
|
14
14
|
# This is used below in the value to process it if there happen to be
|
15
15
|
# constants defined here.
|
16
|
-
#
|
16
|
+
#
|
17
17
|
# @note this does not handle the result of method calls
|
18
18
|
# @note this does not handle multiple constants within the same escaped area
|
19
|
-
#
|
20
|
-
|
19
|
+
#
|
20
|
+
def escape_pattern
|
21
|
+
/#\{\s*(\w+)\s*\}/
|
22
|
+
end
|
21
23
|
|
22
24
|
#
|
23
25
|
# When requesting a step tranformer object value, process it, if it hasn't
|
24
26
|
# alredy been processed, replacing any constants that may be lurking within
|
25
27
|
# the value.
|
26
|
-
#
|
28
|
+
#
|
27
29
|
# Processing it means looking for any escaped characters that happen to be
|
28
30
|
# CONSTANTS that could be matched and then replaced. This is done recursively
|
29
31
|
# as CONSTANTS can be defined with more CONSTANTS.
|
30
|
-
#
|
32
|
+
#
|
31
33
|
def value
|
32
34
|
unless @processed
|
33
35
|
@processed = true
|
@@ -35,23 +37,23 @@ module YARD::CodeObjects
|
|
35
37
|
nested.each {|n| @value.gsub!(value_regex(n),find_value_for_constant(n)) }
|
36
38
|
end
|
37
39
|
end
|
38
|
-
|
40
|
+
|
39
41
|
@value
|
40
42
|
end
|
41
43
|
|
42
44
|
#
|
43
45
|
# Set the literal value and the value of the step definition.
|
44
|
-
#
|
46
|
+
#
|
45
47
|
# The literal value is as it appears in the step definition file with any
|
46
|
-
# constants. The value, when retrieved will attempt to replace those
|
48
|
+
# constants. The value, when retrieved will attempt to replace those
|
47
49
|
# constants with their regex or string equivalents to hopefully match more
|
48
50
|
# steps and step definitions.
|
49
|
-
#
|
50
|
-
#
|
51
|
+
#
|
52
|
+
#
|
51
53
|
def value=(value)
|
52
54
|
@literal_value = format_source(value)
|
53
55
|
@value = format_source(value)
|
54
|
-
|
56
|
+
|
55
57
|
@steps = []
|
56
58
|
value
|
57
59
|
end
|
@@ -60,13 +62,13 @@ module YARD::CodeObjects
|
|
60
62
|
def regex
|
61
63
|
@regex ||= /#{strip_regex_from(value)}/
|
62
64
|
end
|
63
|
-
|
65
|
+
|
64
66
|
# Look through the specified data for the escape pattern and return an array
|
65
67
|
# of those constants found. This defaults to the @value within step transformer
|
66
68
|
# as it is used internally, however, it can be called externally if it's
|
67
69
|
# needed somewhere.
|
68
70
|
def constants_from_value(data=@value)
|
69
|
-
data.scan(
|
71
|
+
data.scan(escape_pattern).flatten.collect { |value| value.strip }
|
70
72
|
end
|
71
73
|
|
72
74
|
protected
|
@@ -74,13 +76,13 @@ module YARD::CodeObjects
|
|
74
76
|
#
|
75
77
|
# Looking through all the constants in the registry and returning the value
|
76
78
|
# with the regex items replaced from the constnat if present
|
77
|
-
#
|
79
|
+
#
|
78
80
|
def find_value_for_constant(name)
|
79
81
|
constant = YARD::Registry.all(:constant).find{|c| c.name == name.to_sym }
|
80
82
|
log.warn "StepTransformer#find_value_for_constant : Could not find the CONSTANT [#{name}] using the string value." unless constant
|
81
83
|
constant ? strip_regex_from(constant.value) : name
|
82
84
|
end
|
83
|
-
|
85
|
+
|
84
86
|
# Return a regex of the value
|
85
87
|
def value_regex(value)
|
86
88
|
/#\{\s*#{value}\s*\}/
|
@@ -48,11 +48,9 @@ class YARD::Handlers::Ruby::StepDefinitionHandler < YARD::Handlers::Ruby::Base
|
|
48
48
|
instance = YARD::CodeObjects::StepDefinitionObject.new(step_transform_namespace,step_definition_name) do |o|
|
49
49
|
o.source = statement.source
|
50
50
|
o.comments = statement.comments
|
51
|
-
|
52
|
-
o.
|
53
|
-
|
54
|
-
o.value = statement[1].source
|
55
|
-
o.pending = pending_keyword_used(statement.block)
|
51
|
+
o.keyword = statement.method_name.source
|
52
|
+
o.value = statement.parameters.source
|
53
|
+
o.pending = pending_keyword_used?(statement.block)
|
56
54
|
end
|
57
55
|
|
58
56
|
obj = register instance
|
@@ -65,11 +63,10 @@ class YARD::Handlers::Ruby::StepDefinitionHandler < YARD::Handlers::Ruby::Base
|
|
65
63
|
end
|
66
64
|
|
67
65
|
def pending_command_statement?(line)
|
68
|
-
puts "#{line.type} #{line.source}"
|
69
66
|
(line.type == :command || line.type == :vcall) && line.first.source == pending_keyword
|
70
67
|
end
|
71
68
|
|
72
|
-
def pending_keyword_used(block)
|
69
|
+
def pending_keyword_used?(block)
|
73
70
|
code_in_block = block.last
|
74
71
|
code_in_block.find { |line| pending_command_statement?(line) }
|
75
72
|
end
|
metadata
CHANGED
@@ -1,65 +1,58 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yard-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
5
|
-
prerelease:
|
4
|
+
version: 2.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Franklin Webber
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-07-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: gherkin
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
19
|
+
version: '2.12'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 2.
|
26
|
+
version: '2.12'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: cucumber
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
33
|
+
version: '1.3'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
40
|
+
version: '1.3'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: yard
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 0.8.1
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 0.8.1
|
62
|
-
description:
|
55
|
+
description: "\n YARD-Cucumber is a YARD extension that processes Cucumber Features,
|
63
56
|
Scenarios, Steps,\n Step Definitions, Transforms, and Tags and provides a documentation
|
64
57
|
interface that allows you\n easily view and investigate the test suite. This
|
65
58
|
tools hopes to bridge the gap of being able\n to provide your feature descriptions
|
@@ -73,7 +66,8 @@ extra_rdoc_files:
|
|
73
66
|
files:
|
74
67
|
- .gitignore
|
75
68
|
- .rspec
|
76
|
-
- .
|
69
|
+
- .ruby-gemset
|
70
|
+
- .ruby-version
|
77
71
|
- Gemfile
|
78
72
|
- Gemfile.lock
|
79
73
|
- History.txt
|
@@ -162,32 +156,30 @@ files:
|
|
162
156
|
- lib/yard/templates/helpers/base_helper.rb
|
163
157
|
homepage: http://github.com/burtlo/yard-cucumber
|
164
158
|
licenses: []
|
165
|
-
|
166
|
-
|
167
|
-
\
|
168
|
-
|
169
|
-
|
159
|
+
metadata: {}
|
160
|
+
post_install_message: "\n(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
161
|
+
(::) (::) (::)\n\n Thank you for installing yard-cucumber 2.3.0 / 2013-07-12.\n\n
|
162
|
+
\ Changes:\n \n * Fixes for Cucumber ~> 1.3 and gherkin ~> 2.12 by loading\n
|
163
|
+
\ a required platform file.\n \n\n(::) (::) (::) (::) (::) (::) (::) (::) (::)
|
164
|
+
(::) (::) (::) (::) (::) (::)\n\n"
|
170
165
|
rdoc_options:
|
171
166
|
- --charset=UTF-8
|
172
167
|
require_paths:
|
173
168
|
- lib
|
174
169
|
required_ruby_version: !ruby/object:Gem::Requirement
|
175
|
-
none: false
|
176
170
|
requirements:
|
177
|
-
- -
|
171
|
+
- - '>='
|
178
172
|
- !ruby/object:Gem::Version
|
179
173
|
version: '0'
|
180
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
|
-
none: false
|
182
175
|
requirements:
|
183
|
-
- -
|
176
|
+
- - '>='
|
184
177
|
- !ruby/object:Gem::Version
|
185
178
|
version: '0'
|
186
179
|
requirements: []
|
187
180
|
rubyforge_project:
|
188
|
-
rubygems_version:
|
181
|
+
rubygems_version: 2.0.3
|
189
182
|
signing_key:
|
190
|
-
specification_version:
|
183
|
+
specification_version: 4
|
191
184
|
summary: Cucumber Features in YARD
|
192
185
|
test_files: []
|
193
|
-
has_rdoc:
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm gemset use yard-cucumber
|