module Hiptest::GherkinAddon

Public Instance Methods

walk_actionword(aw) click to toggle source
Calls superclass method
# File lib/hiptest-publisher/renderer_addons/gherkin_addon.rb, line 17
def walk_actionword(aw)
  parameters = aw.children[:parameters]
  aw.chunks = replace_parameter_value_with_type(aw.chunks, parameters)
  aw.extra_inlined_parameters = replace_parameter_value_with_type(aw.extra_inlined_parameters, parameters)

  super(aw)
end
walk_call(call) click to toggle source
Calls superclass method
# File lib/hiptest-publisher/renderer_addons/gherkin_addon.rb, line 5
def walk_call(call)
  if call.free_text_arg
    @rendered_children[:free_text_arg] = rendered_freetext_arg(call)
  end

  if call.datatable_arg
    @rendered_children[:datatable_arg] = rendered_datatable_arg(call)
  end

  super(call)
end
walk_folder(folder) click to toggle source
Calls superclass method
# File lib/hiptest-publisher/renderer_addons/gherkin_addon.rb, line 25
def walk_folder(folder)
  @rendered_children[:ancestor_tags] = ancestor_tags(folder)

  super(folder)
end

Private Instance Methods

ancestor_tags(folder) click to toggle source
# File lib/hiptest-publisher/renderer_addons/gherkin_addon.rb, line 41
def ancestor_tags(folder)
  ancestor_tags = folder.ancestors.map { |f| f.children[:tags] }.flatten.uniq
  ancestor_tags.map { |t| Hiptest::Renderer.render(t, @context) }
end
rendered_datatable_arg(call) click to toggle source
# File lib/hiptest-publisher/renderer_addons/gherkin_addon.rb, line 33
def rendered_datatable_arg(call)
  @rendered[call.datatable_arg.children[:value]]
end
rendered_freetext_arg(call) click to toggle source
# File lib/hiptest-publisher/renderer_addons/gherkin_addon.rb, line 37
def rendered_freetext_arg(call)
  @rendered[call.free_text_arg.children[:value]]
end
replace_parameter_value_with_type(collection, parameters) click to toggle source
# File lib/hiptest-publisher/renderer_addons/gherkin_addon.rb, line 46
def replace_parameter_value_with_type(collection, parameters)
  collection.map do |obj|
    if obj[:is_parameter]
      parameter = parameters.find { |parameter| parameter.children[:name] == obj[:name] }
      obj[:typed_value] = parameter ? "{#{parameter.type.downcase}}" : "{}"
    else
      obj[:typed_value] = obj[:value]
    end

    obj
  end
end