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
16 17 18 |
# File 'lib/rails/source_annotation_extractor.rb', line 16 def line @line end |
#tag ⇒ Object
Returns the value of attribute tag
16 17 18 |
# File 'lib/rails/source_annotation_extractor.rb', line 16 def tag @tag end |
#text ⇒ Object
Returns the value of attribute text
16 17 18 |
# File 'lib/rails/source_annotation_extractor.rb', line 16 def text @text end |
Class Method Details
.directories ⇒ Object
17 18 19 |
# File 'lib/rails/source_annotation_extractor.rb', line 17 def self.directories @@directories ||= %w(app config db lib test) + (ENV["SOURCE_ANNOTATION_DIRECTORIES"] || "").split(",") end |
.extensions ⇒ Object
27 28 29 |
# File 'lib/rails/source_annotation_extractor.rb', line 27 def self.extensions @@extensions ||= {} end |
.register_directories(*dirs) ⇒ Object
Registers additional directories to be included
SourceAnnotationExtractor::Annotation.register_directories("spec","another")
23 24 25 |
# File 'lib/rails/source_annotation_extractor.rb', line 23 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*(.*)$/ }
33 34 35 |
# File 'lib/rails/source_annotation_extractor.rb', line 33 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.
47 48 49 50 51 |
# File 'lib/rails/source_annotation_extractor.rb', line 47 def to_s( = {}) s = "[#{line.to_s.rjust([:indent])}] " s << "[#{tag}] " if [:tag] s << text end |