Sha256: 6d3c4a0cdf856253c17b16d2202cbb28dbda372cd6333ddf5e5a5c2c74eac84d

Contents?: true

Size: 1.03 KB

Versions: 40

Compression:

Stored size: 1.03 KB

Contents

require 'json'

module Gherkin
  DIALECT_FILE_PATH = File.expand_path("gherkin-languages.json", File.dirname(__FILE__))
  DIALECTS = JSON.parse File.open(DIALECT_FILE_PATH, 'r:UTF-8').read

  class Dialect
    def self.for(name)
      spec = DIALECTS[name]
      return nil unless spec
      new(spec)
    end

    def initialize(spec)
      @spec = spec
    end

    def feature_keywords
      @spec.fetch('feature')
    end

    def rule_keywords
      @spec.fetch('rule')
    end

    def scenario_keywords
      @spec.fetch('scenario')
    end

    def scenario_outline_keywords
      @spec.fetch('scenarioOutline')
    end

    def examples_keywords
      @spec.fetch('examples')
    end

    def background_keywords
      @spec.fetch('background')
    end

    def given_keywords
      @spec.fetch('given')
    end

    def when_keywords
      @spec.fetch('when')
    end

    def then_keywords
      @spec.fetch('then')
    end

    def and_keywords
      @spec.fetch('and')
    end

    def but_keywords
      @spec.fetch('but')
    end
  end
end

Version data entries

40 entries across 40 versions & 4 rubygems

Version Path
rubypitaya-3.12.5 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-gherkin-23.0.1/lib/gherkin/dialect.rb
rubypitaya-3.12.4 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-gherkin-23.0.1/lib/gherkin/dialect.rb
rubypitaya-3.12.3 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-gherkin-23.0.1/lib/gherkin/dialect.rb
rubypitaya-3.12.2 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-gherkin-23.0.1/lib/gherkin/dialect.rb
cucumber-gherkin-23.0.1 lib/gherkin/dialect.rb
cucumber-gherkin-23.0.0 lib/gherkin/dialect.rb
phillipug-foodie-0.1.0 .vendor/ruby/3.0.0/gems/cucumber-gherkin-22.0.0/lib/gherkin/dialect.rb
cucumber-gherkin-22.0.0 lib/gherkin/dialect.rb
cucumber-gherkin-21.0.0 lib/gherkin/dialect.rb
cucumber-gherkin-20.0.1 lib/gherkin/dialect.rb
cucumber-gherkin-20.0.0 lib/gherkin/dialect.rb
cucumber-gherkin-19.0.3 lib/gherkin/dialect.rb
cucumber-gherkin-19.0.2 lib/gherkin/dialect.rb
cucumber-gherkin-19.0.1 lib/gherkin/dialect.rb
cucumber-gherkin-19.0.0 lib/gherkin/dialect.rb
cucumber-gherkin-18.1.1 lib/gherkin/dialect.rb
cucumber-gherkin-18.1.0 lib/gherkin/dialect.rb
cucumber-gherkin-18.0.0 lib/gherkin/dialect.rb
cucumber-gherkin-17.0.2 lib/gherkin/dialect.rb
cucumber-gherkin-17.0.1 lib/gherkin/dialect.rb