aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--railties/lib/rails/source_annotation_extractor.rb6
-rw-r--r--railties/test/application/rake/notes_test.rb13
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')