class SpecTracker::SpecParser::BaseParser

Public Instance Methods

parse(path) click to toggle source
# File lib/spec_tracker/spec_parser/base_parser.rb, line 4
def parse(path)
  specifications = []
  if spec_path(path).directory?
    spec_path(path).each_entry do |entry|
      next unless entry.extname == spec_file_extension
      scenarios = parse_single(spec_path(path).join(entry.basename))
      specifications << Specification.new(topic: entry.basename, scenarios: scenarios)
    end
  else
    scenarios = parse_single(spec_path(path))
    specifications << Specification.new(topic: spec_path(path).basename, scenarios: scenarios)
  end
  specifications
end

Protected Instance Methods

parse_single(spec_file) click to toggle source
# File lib/spec_tracker/spec_parser/base_parser.rb, line 25
def parse_single(spec_file)
  raise Error.new('override me!')
end
spec_file_extension() click to toggle source
# File lib/spec_tracker/spec_parser/base_parser.rb, line 21
def spec_file_extension
  raise Error.new('override me!')
end

Private Instance Methods

spec_path(path) click to toggle source
# File lib/spec_tracker/spec_parser/base_parser.rb, line 31
def spec_path(path)
  SpecTracker.configuration.local_path.join(path)
end