Sha256: 367f88d5529ec95e529c0292517aaab6265b504e6962bc3ee7c487d1b42c2c62

Contents?: true

Size: 745 Bytes

Versions: 6

Compression:

Stored size: 745 Bytes

Contents


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

  @@unique_name = 0
  
  def process
    transform = statement.tokens.to_s[STEP_TRANSFORM_MATCH,2]
    @@unique_name = @@unique_name + 1
    
    instance = 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
  
    obj = register instance
    parse_block :owner => obj
    
  rescue YARD::Handlers::NamespaceMissingError
  end
  
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
cucumber-in-the-yard-1.7.3 lib/yard/handlers/step_transform_handler.rb
cucumber-in-the-yard-1.7.2 lib/yard/handlers/step_transform_handler.rb
cucumber-in-the-yard-1.7.1 lib/yard/handlers/step_transform_handler.rb
cucumber-in-the-yard-1.7.0 lib/yard/handlers/step_transform_handler.rb
cucumber-in-the-yard-1.6.4 lib/yard/handlers/step_transform_handler.rb
cucumber-in-the-yard-1.6.3 lib/yard/handlers/step_transform_handler.rb