From ec23296eb607d7974c7281d520b543640024418f Mon Sep 17 00:00:00 2001 From: Daniel Schierbeck Date: Wed, 20 Feb 2013 16:42:30 +0100 Subject: Register trackers on extensions, not handlers --- actionpack/lib/action_view/dependency_tracker.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'actionpack/lib/action_view/dependency_tracker.rb') diff --git a/actionpack/lib/action_view/dependency_tracker.rb b/actionpack/lib/action_view/dependency_tracker.rb index 0f380b0ff1..3de5cd150b 100644 --- a/actionpack/lib/action_view/dependency_tracker.rb +++ b/actionpack/lib/action_view/dependency_tracker.rb @@ -14,7 +14,8 @@ module ActionView end end - def self.register_tracker(handler, tracker) + def self.register_tracker(extension, tracker) + handler = Template.handler_for_extension(extension) @trackers[handler] = tracker end @@ -42,26 +43,30 @@ module ActionView /x def self.call(name, template) - new(name, template).call + new(name, template).dependencies end def initialize(name, template) @name, @template = name, template end - def call + def dependencies render_dependencies + explicit_dependencies end private attr_reader :name, :template + def source + template.source + end + def directory name.split("/")[0..-2].join("/") end def render_dependencies - template.source.scan(RENDER_DEPENDENCY). + source.scan(RENDER_DEPENDENCY). collect(&:second).uniq. # render(@topic) => render("topics/topic") @@ -77,10 +82,10 @@ module ActionView end def explicit_dependencies - template.source.scan(EXPLICIT_DEPENDENCY).flatten.uniq + source.scan(EXPLICIT_DEPENDENCY).flatten.uniq end end - register_tracker Template::Handlers::ERB, ERBTracker + register_tracker :erb, ERBTracker end end -- cgit v1.2.3