Skip to content

Commit

Permalink
Add annotation to haml and slim template.
Browse files Browse the repository at this point in the history
  • Loading branch information
kielkowiczk committed Dec 7, 2011
1 parent 885a599 commit 8f61df0
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
4 changes: 4 additions & 0 deletions railties/lib/rails/source_annotation_extractor.rb
Expand Up @@ -69,6 +69,10 @@ def find_in(dir)
results.update(extract_annotations_from(item, /#\s*(#{tag}):?\s*(.*)$/))
elsif item =~ /\.erb$/
results.update(extract_annotations_from(item, /<%\s*#\s*(#{tag}):?\s*(.*?)\s*%>/))
elsif item =~ /\.haml$/
results.update(extract_annotations_from(item, /-\s*#\s*(#{tag}):?\s*(.*)$/))
elsif item =~ /\.slim$/
results.update(extract_annotations_from(item, /\/\s*\s*(#{tag}):?\s*(.*)$/))
end
end

Expand Down
42 changes: 42 additions & 0 deletions railties/test/railties/rake_tasks_test.rb
@@ -0,0 +1,42 @@
require "isolation/abstract_unit"

module RailtiesTest
class RakeNotesTest < Test::Unit::TestCase
def setup
build_app
require "rails/all"
end

def teardown
teardown_app
end

test 'notes' do
app_file "app/views/home/index.html.erb", "<% # TODO: note in erb %>"
app_file "app/views/home/index.html.haml", "-# TODO: note in haml"
app_file "app/views/home/index.html.slim", "/ TODO: note in slim"

boot_rails
require 'rake'
require 'rdoc/task'
require 'rake/testtask'

Rails.application.load_tasks

Dir.chdir(app_path) do
output = `bundle exec rake notes`

assert_match /note in erb/, output
assert_match /note in haml/, output
assert_match /note in slim/, output
end

end

private
def boot_rails
super
require "#{app_path}/config/environment"
end
end
end

1 comment on commit 8f61df0

@sobrinho
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this should be available as hook for others template engines :)

Please sign in to comment.