class Rubycritic::RevisionComparator
def initialize(smells, source_control_system)
def initialize(smells, source_control_system) @smells_now = smells @source_control_system = source_control_system end
def paths_of_tracked_files
def paths_of_tracked_files SourceLocator.new(["."]).paths end
def revision_file
def revision_file @revision_file ||= File.join( ::Rubycritic.configuration.root, SNAPSHOTS_DIR_NAME, @source_control_system.head_reference ) end
def smells
def smells SmellsStatusSetter.new(smells_before, @smells_now).smells end
def smells_before
def smells_before serializer = SmellsSerializer.new(revision_file) if File.file?(revision_file) serializer.load else smells = nil @source_control_system.travel_to_head do smells = AnalysersRunner.new(paths_of_tracked_files).run end serializer.dump(smells) smells end end