Sha256: c6cd8cb2486e59057a411e7ab2661018058f4be30e5f699afe41ac840f1e863e
Contents?: true
Size: 847 Bytes
Versions: 5
Compression:
Stored size: 847 Bytes
Contents
module SpecTracker module SpecParser class GherkinParser < BaseParser def initialize @language_parser = Gherkin::Parser.new end private def spec_file_extension '.feature' end # FIXME: handle large files def parse_single(spec_file) file_content = File.read(spec_file) parse_result = @language_parser.parse(file_content) parse_result[:feature][:children].select { |child| child[:type].downcase == :scenario }.map do |scenario| scenario_id = scenario[:name].slice(SpecTracker.configuration.scenario_id_regex, 1) next if scenario_id.nil? scenario_name = scenario[:name].gsub(SpecTracker.configuration.scenario_id_regex, '').strip Scenario.new(id: scenario_id, name: scenario_name) end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems