Sha256: c3b860d443e7f32575c25afc06023ff9dbecd5ea7385fbf991bcb4c160552598

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

def init
  super
  sections.push :stepdefinitions, :steptransforms, :undefined_steps
end


def stepdefinitions
  @item_title = "Step Definitions"
  @item_type = "step definition"
  @items = YARD::Registry.all(:stepdefinition)
  erb(:header) + erb(:transformers)
end

def steptransforms
  @item_title = "Step Transforms"
  @item_type = "step transform"
  @items = YARD::Registry.all(:steptransform)
  erb(:header) + erb(:transformers)
end

def undefined_steps
  @item_title = "Undefined Steps"
  @item_type = nil
  @undefined_steps ||= Registry.all(:step).reject {|s| s.definition || s.scenario.outline? }
  erb(:header) + erb(:undefined_steps)
end


def link_transformed_step(step)
  value = step.value.dup
  
  if step.definition
    matches = step.value.match(step.definition.regex)
    
    if matches
      matches[1..-1].reverse.each_with_index do |match,index|
        next if match == nil
        transform = step.transforms.find {|transform| transform.regex.match(match) }
        
        value[matches.begin((matches.size - 1) - index)..(matches.end((matches.size - 1) - index) - 1)] = transform ? "<a href='#{url_for(transform)}'>#{h(match)}</a>" : "<span class='match'>#{match}</span>"
      end
    end
  end
  
  value
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cucumber-in-the-yard-1.7.2 lib/templates/default/steptransformers/setup.rb