Sha256: f985084450f861461a7054e3b63ab712daedc20aed658134e1cb4b92615abda0

Contents?: true

Size: 679 Bytes

Versions: 2

Compression:

Stored size: 679 Bytes

Contents

require_relative 'gherkin_9_adapter'


module CukeModeler

  # @api private
  #
  # An adapter that can convert the output of version 18.x of the *cucumber-gherkin* gem into input that is consumable
  # by this gem. Internal helper class.
  class Gherkin18Adapter < Gherkin9Adapter

    # Adapts the AST sub-tree that is rooted at the given rule node.
    def adapt_rule(rule_ast)
      adapted_rule = super

      clear_child_elements(adapted_rule, [[:rule, :tags]])

      # Tagging of Rules was added in Gherkin 18
      adapted_rule['tags'] = adapt_tags(rule_ast[:rule])

      adapted_rule
    end

  end

  private_constant :Gherkin18Adapter
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cuke_modeler-3.23.0 lib/cuke_modeler/adapters/gherkin_18_adapter.rb
cuke_modeler-3.22.0 lib/cuke_modeler/adapters/gherkin_18_adapter.rb