Implements the logic behind the rake tasks for annotations like
rails notes
rails notes:optimize
and friends. See rails -T notes
and railties/lib/rails/tasks/annotations.rake
.
Annotation objects are triplets :line
, :tag
, :text
that represent the line where the annotation lives, its tag, and its text. Note the filename is not stored.
Annotations are looked for in comments and modulus whitespace they have to start with the tag optionally followed by a colon. Everything up to the end of the line (or closing ERB
comment tag) is considered to be their text.