diff options
author | John Meehan <john.meehan1@gmail.com> | 2016-07-05 01:10:24 +0100 |
---|---|---|
committer | John Meehan <john.meehan1@gmail.com> | 2016-07-05 01:10:24 +0100 |
commit | a5ce8818d29a367ac2a80eeeae649486e1158206 (patch) | |
tree | aa959bce51b5a467aaeb141f7ca389a5726de30a /railties | |
parent | 1c7cbe8da62b3adef03328cea13bb25a2ff68643 (diff) | |
download | rails-a5ce8818d29a367ac2a80eeeae649486e1158206.tar.gz rails-a5ce8818d29a367ac2a80eeeae649486e1158206.tar.bz2 rails-a5ce8818d29a367ac2a80eeeae649486e1158206.zip |
Allow rake notes to work with other directories.
Additional directories can be added using
SourceAnnotationExtractor::Annotation.register_directories("spec", "other_dir")
Result: rake notes will now extract notes from these directories.
Diffstat (limited to 'railties')
-rw-r--r-- | railties/lib/rails/source_annotation_extractor.rb | 6 | ||||
-rw-r--r-- | railties/test/application/rake/notes_test.rb | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/railties/lib/rails/source_annotation_extractor.rb b/railties/lib/rails/source_annotation_extractor.rb index ca195bd752..85818fafc9 100644 --- a/railties/lib/rails/source_annotation_extractor.rb +++ b/railties/lib/rails/source_annotation_extractor.rb @@ -18,6 +18,12 @@ class SourceAnnotationExtractor @@directories ||= %w(app config db lib test) + (ENV['SOURCE_ANNOTATION_DIRECTORIES'] || '').split(',') end + # Registers additional directories to be included + # SourceAnnotationExtractor::Annotation.register_directories("spec","another") + def self.register_directories(*dirs) + directories.push(*dirs) + end + def self.extensions @@extensions ||= {} end diff --git a/railties/test/application/rake/notes_test.rb b/railties/test/application/rake/notes_test.rb index 50def9beb0..71b7480f64 100644 --- a/railties/test/application/rake/notes_test.rb +++ b/railties/test/application/rake/notes_test.rb @@ -126,6 +126,19 @@ module ApplicationTests end end + test 'register additional directories' do + app_file "app/spec/spec_helper.rb", "# TODO: note in spec" + app_file "app/spec/models/user_spec.rb", "# TODO: note in model spec" + add_to_config %q{ config.annotations.register_directories("spec") } + + + run_rake_notes do |output, lines| + assert_match(/note in spec/, output) + assert_match(/note in model spec/, output) + assert_equal 2, lines.size + end + end + private def run_rake_notes(command = 'bin/rails notes') |