Sha256: b673a3885828d905440de2095b9a05defc3b030f744581a9a617d4d5e9d24beb

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

module YARD::CodeObjects::Cucumber
  
  class NamespaceObject < YARD::CodeObjects::NamespaceObject
    include LocationHelper
    def value ; nil ; end
  end

  class Requirements < NamespaceObject ; end
  class FeatureTags < NamespaceObject ; end
  class StepTransformersObject < NamespaceObject ; end

  class FeatureDirectory < YARD::CodeObjects::NamespaceObject

    attr_accessor :description

    def initialize(namespace,name)
      super(namespace,name)
      @description = ""
    end

    def location
      files.first.first if files && !files.empty?
    end

    def value ; name ; end
    
    def features
      children.find_all {|d| d.is_a?(Feature) } 
    end
    
    def subdirectories
      subdirectories = children.find_all {|d| d.is_a?(FeatureDirectory) }
      subdirectories + subdirectories.collect {|s| s.subdirectories }.flatten
    end
      
    
  end

  CUCUMBER_NAMESPACE = Requirements.new(:root, "requirements")
  
  CUCUMBER_TAG_NAMESPACE = FeatureTags.new(CUCUMBER_NAMESPACE, "tags")
  
  CUCUMBER_STEPTRANSFORM_NAMESPACE = StepTransformersObject.new(CUCUMBER_NAMESPACE, "step_transformers")
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cucumber-in-the-yard-1.7.8 lib/yard/code_objects/cucumber/namespace_object.rb