Sha256: fce95c4932105c9df1336571dee4b1cc6a4e1d0136ef29c9e529a76b041d41b5

Contents?: true

Size: 658 Bytes

Versions: 2

Compression:

Stored size: 658 Bytes

Contents

class StepTransformHandler < YARD::Handlers::Ruby::Legacy::Base
  MATCH = /^Transform\s*(\/.+\/)\s+do\s+\|.+\|\s*$/
  handles MATCH

  @@unique_name = 0
  
  def process
    transform = statement.tokens.to_s[MATCH,1]
    
    @@unique_name = @@unique_name + 1
    
    obj = register StepTransformObject.new(YARD::CodeObjects::Cucumber::CUCUMBER_STEPTRANSFORM_NAMESPACE, "transform_#{@@unique_name}") do |o| 
      o.source = "Transform #{transform} do #{statement.block.to_s}\nend"
      o.value = transform
      o.keyword = "Transform"
    end

    parse_block :owner => obj

  rescue YARD::Handlers::NamespaceMissingError
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cucumber-in-the-yard-1.5.3 lib/yard/handlers/step_transform_handler.rb
cucumber-in-the-yard-1.5.2 lib/yard/handlers/step_transform_handler.rb