Sha256: 5ddf41f5e1dccceef842edd8a3fd5172aaad9e190340fa2581476d2c8c47e2bc

Contents?: true

Size: 600 Bytes

Versions: 3

Compression:

Stored size: 600 Bytes

Contents

require 'gherkin/tag_expression'

module Lucid
  module AST
    class Tags #:nodoc:
      attr_reader :tags

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

      def accept(visitor)
        return if Lucid.wants_to_quit
        visitor.visit_tags(self) do
          @tags.each do |tag|
            visitor.visit_tag_name(tag.name)
          end
        end
      end

      def accept_hook?(hook)
        Gherkin::TagExpression.new(hook.tag_expressions).evaluate(@tags)
      end

      def to_sexp
        @tags.map{|tag| [:tag, tag.name]}
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lucid-0.0.9 lib/lucid/ast/tags.rb
lucid-0.0.8 lib/lucid/ast/tags.rb
lucid-0.0.7 lib/lucid/ast/tags.rb