Sha256: 9613a2e9af3e5cc28172e05cbbcb1079e1269a34323cb68466bc92ee7d46d0c7

Contents?: true

Size: 1.26 KB

Versions: 11

Compression:

Stored size: 1.26 KB

Contents

require 'shared_examples'

module Cucumber::CompatibilityKit
  class << self
    def all_examples
      gherkin_examples + markdown_examples
    end

    def gherkin_examples
      Dir
        .entries(examples_path)
        .select do |file|
          folder = File.join(examples_path, file)

          file != '.' && file != '..' &&
            File.directory?(folder) &&
            is_gherkin_example?(folder)
        end
    end

    def markdown_examples
      Dir
      .entries(examples_path)
      .select do |file|
        folder = File.join(examples_path, file)

        file != '.' && file != '..' &&
          File.directory?(folder) &&
          is_markdown_example?(folder)
      end
    end

    def examples_path
      File.expand_path("#{File.dirname(__FILE__)}/../features/")
    end

    def example_path(example_name)
      path = File.join(examples_path, example_name)

      return path if File.directory?(path)

      raise ArgumentError.new
    end

    private

    def is_gherkin_example?(example_folder)
      Dir.entries(example_folder).select { |file| File.extname(file) == '.feature' }.count > 0
    end

    def is_markdown_example?(example_folder)
      Dir.entries(example_folder).select { |file| File.extname(file) == '.md' }.count > 0
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
cucumber-compatibility-kit-12.0.0 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-11.3.0 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-11.2.0 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-11.0.1 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-11.0.0 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-10.0.0 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-9.2.1 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-9.2.0 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-9.1.2 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-9.1.1 lib/cucumber-compatibility-kit.rb
cucumber-compatibility-kit-9.1.0 lib/cucumber-compatibility-kit.rb