jarib-cuketagger 0.7.1 → 0.7.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/Rakefile +1 -1
- data/lib/cuketagger.rb +1 -3
- data/lib/cuketagger/tag_formatter.rb +35 -0
- data/lib/cuketagger/tagger.rb +9 -7
- data/lib/cuketagger/version.rb +1 -1
- metadata +4 -4
- data/lib/cuketagger/tag_visitor.rb +0 -28
data/Rakefile
CHANGED
@@ -21,7 +21,7 @@ spec = Gem::Specification.new do |s|
|
|
21
21
|
s.files = %w[Rakefile README.markdown] + Dir['lib/**/*']
|
22
22
|
s.bindir = 'bin'
|
23
23
|
s.executables = Dir['bin/*'].map { |f| File.basename(f) }
|
24
|
-
s.add_runtime_dependency 'cucumber', '>= 0.3.
|
24
|
+
s.add_runtime_dependency 'cucumber', '>= 0.3.103'
|
25
25
|
end
|
26
26
|
|
27
27
|
Rake::GemPackageTask.new(spec) do |pkg|
|
data/lib/cuketagger.rb
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
module CukeTagger
|
2
|
+
module TagFormatter
|
3
|
+
attr_accessor :tagger
|
4
|
+
|
5
|
+
def before_feature(feature)
|
6
|
+
@__current_feature = feature
|
7
|
+
super
|
8
|
+
end
|
9
|
+
|
10
|
+
def before_feature_element(element)
|
11
|
+
@__current_element = element
|
12
|
+
super
|
13
|
+
end
|
14
|
+
|
15
|
+
def after_feature_element(element)
|
16
|
+
@__current_element = nil
|
17
|
+
super
|
18
|
+
end
|
19
|
+
|
20
|
+
def before_tags(tags)
|
21
|
+
@tagger.process(@__current_feature, @__current_element, tags.instance_variable_get("@tag_names"))
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def record_tag_occurrences(*args)
|
27
|
+
# override to avoid error if options[:include_tags] is nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def print_summary(*args)
|
31
|
+
# override
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
data/lib/cuketagger/tagger.rb
CHANGED
@@ -30,10 +30,11 @@ module CukeTagger
|
|
30
30
|
end
|
31
31
|
|
32
32
|
formatter = Cucumber::Formatter::Pretty.new(step_mother, $stdout, opts)
|
33
|
-
formatter.extend(
|
33
|
+
formatter.extend(TagFormatter)
|
34
34
|
formatter.tagger = self
|
35
35
|
|
36
|
-
|
36
|
+
walker = Cucumber::Ast::TreeWalker.new(step_mother, [formatter], opts)
|
37
|
+
walker.visit_features features
|
37
38
|
end
|
38
39
|
|
39
40
|
def process(feature, element, tag_names)
|
@@ -42,22 +43,23 @@ module CukeTagger
|
|
42
43
|
alterations.each do |op, tag_name|
|
43
44
|
case op
|
44
45
|
when :add
|
45
|
-
tag_names.push tag_name
|
46
|
+
tag_names.push "@#{tag_name}"
|
46
47
|
when :remove
|
47
|
-
tag_names.delete tag_name
|
48
|
+
tag_names.delete "@#{tag_name}"
|
48
49
|
when :replace
|
49
|
-
idx = tag_names.index tag_name.first
|
50
|
+
idx = tag_names.index "@#{tag_name.first}"
|
50
51
|
if idx.nil?
|
51
52
|
$stderr.puts "expected #{tag_name.first.inspect} at #{file_and_line_for(feature, element).join(":")}, skipping"
|
52
53
|
else
|
53
|
-
tag_names[idx] = tag_name.last
|
54
|
+
tag_names[idx] = "@#{tag_name.last}"
|
54
55
|
end
|
55
56
|
end
|
56
57
|
end
|
57
58
|
end
|
58
59
|
|
59
60
|
def should_alter?(feature, element)
|
60
|
-
|
61
|
+
fl = file_and_line_for(feature, element)
|
62
|
+
features_to_change.include? fl
|
61
63
|
end
|
62
64
|
|
63
65
|
private
|
data/lib/cuketagger/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jarib-cuketagger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jari
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-09-
|
13
|
+
date: 2009-09-24 00:00:00 -07:00
|
14
14
|
default_executable: cuketagger
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
requirements:
|
22
22
|
- - ">="
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version: 0.3.
|
24
|
+
version: 0.3.103
|
25
25
|
version:
|
26
26
|
description: batch tagging of cucumber features and scenarios
|
27
27
|
email: jari.bakken@gmail.com
|
@@ -35,7 +35,7 @@ files:
|
|
35
35
|
- Rakefile
|
36
36
|
- README.markdown
|
37
37
|
- lib/cuketagger
|
38
|
-
- lib/cuketagger/
|
38
|
+
- lib/cuketagger/tag_formatter.rb
|
39
39
|
- lib/cuketagger/tagger.rb
|
40
40
|
- lib/cuketagger/version.rb
|
41
41
|
- lib/cuketagger.rb
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module CukeTagger
|
2
|
-
module TagVisitor
|
3
|
-
attr_accessor :tagger
|
4
|
-
|
5
|
-
def visit_feature(feature)
|
6
|
-
@current_feature = feature
|
7
|
-
super
|
8
|
-
end
|
9
|
-
|
10
|
-
def visit_feature_element(element)
|
11
|
-
@current_element = element
|
12
|
-
super
|
13
|
-
@current_element = nil
|
14
|
-
end
|
15
|
-
|
16
|
-
def visit_tags(tags)
|
17
|
-
@tagger.process(@current_feature, @current_element, tags.instance_variable_get("@tag_names"))
|
18
|
-
super
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def record_tag_occurrences(*args)
|
24
|
-
# override to avoid error if options[:include_tags] is nil
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
end
|