Methods

Class Public methods

directories()

# File railties/lib/rails/source_annotation_extractor.rb, line 15
def self.directories
  @@directories ||= %w(app config db lib test)
end

extensions()

# File railties/lib/rails/source_annotation_extractor.rb, line 35
def self.extensions
  @@extensions ||= {}
end

register_directories(*dirs)

Registers additional directories to be included

Rails::SourceAnnotationExtractor::Annotation.register_directories("spec", "another")
# File railties/lib/rails/source_annotation_extractor.rb, line 21
def self.register_directories(*dirs)
  directories.push(*dirs)
end

register_extensions(*exts, &block)

Registers new Annotations File Extensions

Rails::SourceAnnotationExtractor::Annotation.register_extensions("css", "scss", "sass", "less", "js") { |tag| /\/\/\s*(#{tag}):?\s*(.*)$/ }
# File railties/lib/rails/source_annotation_extractor.rb, line 41
def self.register_extensions(*exts, &block)
  extensions[/\.(#{exts.join("|")})$/] = block
end

register_tags(*additional_tags)

Registers additional tags

Rails::SourceAnnotationExtractor::Annotation.register_tags("TESTME", "DEPRECATEME")
# File railties/lib/rails/source_annotation_extractor.rb, line 31
def self.register_tags(*additional_tags)
  tags.push(*additional_tags)
end

tags()

# File railties/lib/rails/source_annotation_extractor.rb, line 25
def self.tags
  @@tags ||= %w(OPTIMIZE FIXME TODO)
end

Instance Public methods

to_s(options = {})

Returns a representation of the annotation that looks like this:

[126] [TODO] This algorithm is simple and clearly correct, make it faster.

If options has a flag :tag the tag is shown as in the example above. Otherwise the string contains just line and text.

# File railties/lib/rails/source_annotation_extractor.rb, line 55
def to_s(options = {})
  s = +"[#{line.to_s.rjust(options[:indent])}] "
  s << "[#{tag}] " if options[:tag]
  s << text
end