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 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.96'
24
+ s.add_runtime_dependency 'cucumber', '>= 0.3.103'
25
25
  end
26
26
 
27
27
  Rake::GemPackageTask.new(spec) do |pkg|
@@ -6,7 +6,5 @@ require "cucumber/formatter/pretty"
6
6
  require "set"
7
7
 
8
8
  require "cuketagger/version"
9
- require "cuketagger/tag_visitor"
9
+ require "cuketagger/tag_formatter"
10
10
  require "cuketagger/tagger"
11
-
12
-
@@ -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
@@ -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(TagVisitor)
33
+ formatter.extend(TagFormatter)
34
34
  formatter.tagger = self
35
35
 
36
- features.accept formatter
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
- features_to_change.include? file_and_line_for(feature, element)
61
+ fl = file_and_line_for(feature, element)
62
+ features_to_change.include? fl
61
63
  end
62
64
 
63
65
  private
@@ -1,3 +1,3 @@
1
1
  module CukeTagger
2
- Version = "0.7.1"
2
+ Version = "0.7.2"
3
3
  end
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.1
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-02 00:00:00 -07:00
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.96
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/tag_visitor.rb
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