Sha256: 021f82b95bd771e24ca2b288e0945d5d75e960d33e7d0b3f8a727af07365b9ee
Contents?: true
Size: 851 Bytes
Versions: 59
Compression:
Stored size: 851 Bytes
Contents
require File.expand_path('../step_definition_file', __FILE__) class StepManager STEP_KINDS = %w[Given When Then] attr_accessor :directories, :step_files def initialize(*directories) self.directories = directories self.step_files = directories.map(&method(:collect_files)).flatten.compact end def to_markdown step_files.collect(&:to_markdown).join "\n\n" end def steps(search = nil) step_files.collect(&:real_steps).flatten. sort_by { |step| [STEP_KINDS.index(step.kind), step.to_s.downcase] }. select { |definition| search.nil? or definition.step =~ Regexp.new(search) } end private def collect_files(directory) Dir["#{directory}/**/*_steps.rb"].to_a.sort.map do |filename| next if filename.include? 'spreewald/all_steps' StepDefinitionFile.new(filename) end.compact end end
Version data entries
59 entries across 59 versions & 1 rubygems