Sha256: 5f4aac4f56a8f5c3ac33dc3230858b020f31bf4eb7adfcecb149e561cbbeb6e0

Contents?: true

Size: 741 Bytes

Versions: 8

Compression:

Stored size: 741 Bytes

Contents

module YARD::CodeObjects::Cucumber
  class Tag < NamespaceObject

    attr_accessor :value, :owners, :total_scenarios

    def features
      @owners.find_all { |owner| owner.is_a?(Feature) }
    end

    def scenarios
      all = @owners.find_all do |owner|
        owner.is_a?(Scenario) || owner.is_a?(ScenarioOutline) || ()
      end

      @owners.each do |owner|
        if owner.is_a?(ScenarioOutline::Examples) && !all.include?(owner.scenario)
          all << owner.scenario
        end
      end
      all
    end

    def indirect_scenarios
      @owners.find_all { |owner| owner.is_a?(Feature) }.collect { |feature| feature.scenarios }.flatten
    end

    def all_scenarios
      scenarios + indirect_scenarios
    end
  end
end

Version data entries

8 entries across 8 versions & 3 rubygems

Version Path
yard-gherkin-turnip-1.0.2 lib/yard/code_objects/cucumber/tag.rb
yard-gherkin-turnip-1.0.1 lib/yard/code_objects/cucumber/tag.rb
yard-gherkin-turnip-1.0.0 lib/yard/code_objects/cucumber/tag.rb
yard-nrser-cucumber-0.1.3 lib/yard/code_objects/cucumber/tag.rb
yard-nrser-cucumber-0.1.2 lib/yard/code_objects/cucumber/tag.rb
yard-nrser-cucumber-0.1.1 lib/yard/code_objects/cucumber/tag.rb
yard-nrser-cucumber-0.1.0 lib/yard/code_objects/cucumber/tag.rb
yard-cucumber-4.0.0 lib/yard/code_objects/cucumber/tag.rb