Sha256: a3970e00b570427390b7edce4367eaf52687201e6ad7168df386bf34c54db5ae

Contents?: true

Size: 689 Bytes

Versions: 2

Compression:

Stored size: 689 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(rule_ast)

      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.21.0 lib/cuke_modeler/adapters/gherkin_18_adapter.rb
cuke_modeler-3.20.1 lib/cuke_modeler/adapters/gherkin_18_adapter.rb