railties/lib/rails/commands/notes/notes_command.rb
# frozen_string_literal: true
require "rails/source_annotation_extractor"
module Rails
module Command
class NotesCommand < Base # :nodoc:
class_option :annotations, aliases: "-a", desc: "Filter by specific annotations, e.g. Foobar TODO", type: :array
desc "notes", "Show comments in your code annotated with FIXME, OPTIMIZE, and TODO"
def perform(*)
boot_application!
display_annotations
end
private
def display_annotations
annotations = options[:annotations] || Rails::SourceAnnotationExtractor::Annotation.tags
tag = (annotations.length > 1)
Rails::SourceAnnotationExtractor.enumerate annotations.join("|"), tag: tag, dirs: directories
end
def directories
Rails::SourceAnnotationExtractor::Annotation.directories
end
end
end
end