Sha256: 298efc285b74402b31146cee879251966bee70cf6f7eb291d8b7e1926abb02c2

Contents?: true

Size: 800 Bytes

Versions: 33

Compression:

Stored size: 800 Bytes

Contents

module Gherkin
  module Parser
    class Event < Array
      def initialize(*args)
        super
        self[1] = self[1].to_a if event == :row # Special JRuby handling
      end

      def event
        self[0]
      end

      def keyword
        self[1]
      end
      
      def line_match?(lines)
        lines.include?(line)
      end

      def name_match?(name_regexen)
        return false unless [:feature, :background, :scenario, :scenario_outline, :examples].include?(event)
        name_regexen.detect{|name_regex| name =~ name_regex}
      end

      def replay(listener)
        listener.__send__(event, *args)
      end

    private

      def name
        self[2]
      end

      def line
        self[-1]
      end

      def args
        self[1..-1]
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
gherkin-1.0.26-java lib/gherkin/parser/event.rb
gherkin-1.0.25 lib/gherkin/parser/event.rb
gherkin-1.0.25-i386-mswin32 lib/gherkin/parser/event.rb
gherkin-1.0.25-i386-mingw32 lib/gherkin/parser/event.rb
gherkin-1.0.25-java lib/gherkin/parser/event.rb
gherkin-1.0.24 lib/gherkin/parser/event.rb
gherkin-1.0.24-i386-mswin32 lib/gherkin/parser/event.rb
gherkin-1.0.24-i386-mingw32 lib/gherkin/parser/event.rb
gherkin-1.0.24-java lib/gherkin/parser/event.rb
gherkin-1.0.23 lib/gherkin/parser/event.rb
gherkin-1.0.23-i386-mswin32 lib/gherkin/parser/event.rb
gherkin-1.0.23-i386-mingw32 lib/gherkin/parser/event.rb
gherkin-1.0.23-java lib/gherkin/parser/event.rb