Sha256: 0a7c182fa43fa18bc0e0e58e98191187deab2749966f0e8653be638a4d5734b1

Contents?: true

Size: 1.35 KB

Versions: 4

Compression:

Stored size: 1.35 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 expanded_path
      to_s.split('::')[1..-1].join('/')
    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") unless defined?(CUCUMBER_NAMESPACE)
  
  CUCUMBER_TAG_NAMESPACE = FeatureTags.new(CUCUMBER_NAMESPACE, "tags") unless defined?(CUCUMBER_TAG_NAMESPACE)
  
  CUCUMBER_STEPTRANSFORM_NAMESPACE = StepTransformersObject.new(CUCUMBER_NAMESPACE, "step_transformers") unless defined?(CUCUMBER_STEPTRANSFORM_NAMESPACE)
  
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
yard-cucumber-3.1.0 lib/yard/code_objects/cucumber/namespace_object.rb
yard-cucumber-3.0.0 lib/yard/code_objects/cucumber/namespace_object.rb
yard-cucumber2-2.3.4 lib/yard/code_objects/cucumber/namespace_object.rb
yard-cucumber2-2.3.3 lib/yard/code_objects/cucumber/namespace_object.rb