Sha256: 3130b4f4d9a13aa9679e7e8e5e0ce187e2036dd6d4f6699dbffe120e225d5c46

Contents?: true

Size: 608 Bytes

Versions: 16

Compression:

Stored size: 608 Bytes

Contents

require 'gherkin/parser/tag_expression'

module Cucumber
  module Ast
    class Tags #:nodoc:
      attr_reader :tag_names

      def initialize(line, tag_names)
        @line, @tag_names = line, tag_names
      end

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

      def accept_hook?(hook)
        Gherkin::Parser::TagExpression.new(hook.tag_expressions).eval(@tag_names)
      end

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

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
cucumber-0.8.3 lib/cucumber/ast/tags.rb
cucumber-0.8.2 lib/cucumber/ast/tags.rb
cucumber-0.8.1 lib/cucumber/ast/tags.rb
cucumber-0.8.0 lib/cucumber/ast/tags.rb
cucumber-0.7.3 lib/cucumber/ast/tags.rb
cucumber-0.7.2 lib/cucumber/ast/tags.rb
cucumber-0.7.1 lib/cucumber/ast/tags.rb
cucumber-0.7.0 lib/cucumber/ast/tags.rb
cucumber-0.7.0.beta.8 lib/cucumber/ast/tags.rb
cucumber-0.7.0.beta.7 lib/cucumber/ast/tags.rb
cucumber-0.7.0.beta.6 lib/cucumber/ast/tags.rb
cucumber-0.7.0.beta.5 lib/cucumber/ast/tags.rb
cucumber-0.7.0.beta.4 lib/cucumber/ast/tags.rb
cucumber-0.7.0.beta.3 lib/cucumber/ast/tags.rb
cucumber-0.7.0.beta.2 lib/cucumber/ast/tags.rb
cucumber-0.7.0.beta.1 lib/cucumber/ast/tags.rb