Sha256: 46fee555185f94cc33bf1e82f65299b04a0634e216f3cfcc29d0599a1e9b0904

Contents?: true

Size: 580 Bytes

Versions: 66

Compression:

Stored size: 580 Bytes

Contents

module Gherkin
  class AstNode
    attr_reader :rule_type

    def initialize(rule_type)
      @rule_type = rule_type
      @_sub_items = Hash.new { |hash, key| hash[key] = [] } # returns [] for unknown key
    end

    def add(rule_type, obj)
      @_sub_items[rule_type].push(obj)
    end

    def get_single(rule_type)
      @_sub_items[rule_type].first
    end

    def get_items(rule_type)
      @_sub_items[rule_type]
    end

    def get_token(token_type)
      get_single(token_type)
    end

    def get_tokens(token_type)
      @_sub_items[token_type]
    end
  end
end

Version data entries

66 entries across 66 versions & 5 rubygems

Version Path
cucumber-gherkin-15.0.1 lib/gherkin/ast_node.rb
cucumber-gherkin-15.0.0 lib/gherkin/ast_node.rb
cucumber-gherkin-14.2.0 lib/gherkin/ast_node.rb
cucumber-gherkin-14.1.0 lib/gherkin/ast_node.rb
cucumber-gherkin-14.0.1 lib/gherkin/ast_node.rb
cucumber-gherkin-14.0.0 lib/gherkin/ast_node.rb
cucumber-gherkin-13.0.0 lib/gherkin/ast_node.rb
cucumber-gherkin-12.0.0 lib/gherkin/ast_node.rb
cucumber-gherkin-11.0.0 lib/gherkin/ast_node.rb
cucumber-gherkin-10.0.0 lib/gherkin/ast_node.rb
cucumber-gherkin-9.2.0 lib/gherkin/ast_node.rb
cucumber-gherkin-9.1.0 lib/gherkin/ast_node.rb
gherkin-9.0.0 lib/gherkin/ast_node.rb
honeybadger-4.5.3 vendor/bundle/ruby/2.6.0/gems/gherkin-5.1.0/lib/gherkin/ast_node.rb
gherkin-8.2.1 lib/gherkin/ast_node.rb
gherkin-8.2.0 lib/gherkin/ast_node.rb
gherkin-8.1.1 lib/gherkin/ast_node.rb
gherkin-8.0.0 lib/gherkin/ast_node.rb
gherkin-5.1.0 lib/gherkin/ast_node.rb
gherkin-5.0.0 lib/gherkin/ast_node.rb