class Gherkin::Tools::Files

Base class for file based operations

def each(&proc)

def each(&proc)
  globs = @paths.map do |path|
    raise "#{path} does not exist" unless File.exist?(path)
    File.directory?(path) ? File.join(path, '**', '*.feature') : path
  end
  Dir[*globs].uniq.sort.each(&proc)
end

def initialize(paths)

def initialize(paths)
  raise "Please specify one or more paths" if paths.empty?
  @paths = paths
end

def scan(file, listener)

def scan(file, listener)
  parser = Gherkin::Parser::Parser.new(listener, true, "root")
  lexer = Gherkin::I18nLexer.new(parser, false)
  begin
    lexer.scan(IO.read(file))
  rescue => e
    e.message << " (#{file})"
    raise e
  end
end