Sha256: 284aa9f5101dcc2f66e981062097d1ec60f3e3747c4bfbf37da1fd17b843e456

Contents?: true

Size: 762 Bytes

Versions: 10

Compression:

Stored size: 762 Bytes

Contents

module Cucumber
  module Ast
    # Holds the names of tags parsed from a feature file:
    #
    #   @invoice @release_2
    #
    # This gets stored internally as <tt>["invoice", "release_2"]</tt>
    #
    class Tags
      def self.strip_prefix(tag_name)
        tag_name =~ /^@(.*)/ ? $1 : tag_name
      end
    
      def initialize(line, tag_names)
        @line, @tag_names = line, tag_names
      end

      def accept(visitor)
        return if $cucumber_interrupted
        @tag_names.each do |tag_name|
          visitor.visit_tag_name(tag_name)
        end
      end

      def accept_hook?(hook)
        hook.matches_tag_names?(@tag_names)
      end

      def to_sexp
        @tag_names.map{|tag_name| [:tag, tag_name]}
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 4 rubygems

Version Path
aslakhellesoy-cucumber-0.3.92 lib/cucumber/ast/tags.rb
aslakhellesoy-cucumber-0.3.93.1 lib/cucumber/ast/tags.rb
aslakhellesoy-cucumber-0.3.93 lib/cucumber/ast/tags.rb
kosmas58-cucumber-0.3.92 lib/cucumber/ast/tags.rb
kosmas58-cucumber-0.3.93.1 lib/cucumber/ast/tags.rb
square-cucumber-0.3.93.1.1 lib/cucumber/ast/tags.rb
square-cucumber-0.3.93.1 lib/cucumber/ast/tags.rb
cucumber-0.3.91 lib/cucumber/ast/tags.rb
cucumber-0.3.92 lib/cucumber/ast/tags.rb
cucumber-0.3.93 lib/cucumber/ast/tags.rb