Class: SourceAnnotationExtractor::Annotation
- Inherits:
-
Struct
- Object
- Struct
- SourceAnnotationExtractor::Annotation
- Defined in:
- lib/rails/source_annotation_extractor.rb
Instance Attribute Summary collapse
-
#line ⇒ Object
Returns the value of attribute line.
-
#tag ⇒ Object
Returns the value of attribute tag.
-
#text ⇒ Object
Returns the value of attribute text.
Class Method Summary collapse
- .directories ⇒ Object
- .extensions ⇒ Object
-
.register_directories(*dirs) ⇒ Object
Registers additional directories to be included SourceAnnotationExtractor::Annotation.register_directories(“spec”, “another”).
-
.register_extensions(*exts, &block) ⇒ Object
Registers new Annotations File Extensions SourceAnnotationExtractor::Annotation.register_extensions(“css”, “scss”, “sass”, “less”, “js”) { |tag| ///s*(##tag):?s*(.*)$/ }.
Instance Method Summary collapse
-
#to_s(options = {}) ⇒ Object
Returns a representation of the annotation that looks like this:.
Instance Attribute Details
#line ⇒ Object
Returns the value of attribute line
18 19 20 |
# File 'lib/rails/source_annotation_extractor.rb', line 18 def line @line end |
#tag ⇒ Object
Returns the value of attribute tag
18 19 20 |
# File 'lib/rails/source_annotation_extractor.rb', line 18 def tag @tag end |
#text ⇒ Object
Returns the value of attribute text
18 19 20 |
# File 'lib/rails/source_annotation_extractor.rb', line 18 def text @text end |
Class Method Details
.directories ⇒ Object
19 20 21 |
# File 'lib/rails/source_annotation_extractor.rb', line 19 def self.directories @@directories ||= %w(app config db lib test) + (ENV["SOURCE_ANNOTATION_DIRECTORIES"] || "").split(",") end |
.extensions ⇒ Object
29 30 31 |
# File 'lib/rails/source_annotation_extractor.rb', line 29 def self.extensions @@extensions ||= {} end |
.register_directories(*dirs) ⇒ Object
Registers additional directories to be included
SourceAnnotationExtractor::Annotation.register_directories("spec", "another")
25 26 27 |
# File 'lib/rails/source_annotation_extractor.rb', line 25 def self.register_directories(*dirs) directories.push(*dirs) end |
.register_extensions(*exts, &block) ⇒ Object
Registers new Annotations File Extensions
SourceAnnotationExtractor::Annotation.register_extensions("css", "scss", "sass", "less", "js") { |tag| /\/\/\s*(#{tag}):?\s*(.*)$/ }
35 36 37 |
# File 'lib/rails/source_annotation_extractor.rb', line 35 def self.register_extensions(*exts, &block) extensions[/\.(#{exts.join("|")})$/] = block end |
Instance Method Details
#to_s(options = {}) ⇒ Object
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.
49 50 51 52 53 |
# File 'lib/rails/source_annotation_extractor.rb', line 49 def to_s( = {}) s = "[#{line.to_s.rjust([:indent])}] ".dup s << "[#{tag}] " if [:tag] s << text end |