diff options
author | José Valim <jose.valim@gmail.com> | 2010-03-16 02:08:34 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-03-16 02:09:16 +0100 |
commit | 8dd731bc502a07f4fb76eb2706a1f3bca479ef63 (patch) | |
tree | 469e95a8f2f17b06250189d34211cef435a885c7 /actionpack/lib/action_view/template/resolver.rb | |
parent | 1f5e2f2bad3c33ec52312a1700bacf06a71875a5 (diff) | |
download | rails-8dd731bc502a07f4fb76eb2706a1f3bca479ef63.tar.gz rails-8dd731bc502a07f4fb76eb2706a1f3bca479ef63.tar.bz2 rails-8dd731bc502a07f4fb76eb2706a1f3bca479ef63.zip |
Move more normalization up to the lookup context, so it does not have to repeat in every resolver.
Diffstat (limited to 'actionpack/lib/action_view/template/resolver.rb')
-rw-r--r-- | actionpack/lib/action_view/template/resolver.rb | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/actionpack/lib/action_view/template/resolver.rb b/actionpack/lib/action_view/template/resolver.rb index a43597e728..ee13707327 100644 --- a/actionpack/lib/action_view/template/resolver.rb +++ b/actionpack/lib/action_view/template/resolver.rb @@ -14,15 +14,8 @@ module ActionView @cached.clear end - def find(*args) - find_all(*args).first - end - # Normalizes the arguments and passes it on to find_template. def find_all(name, prefix=nil, partial=false, details={}, key=nil) - name, prefix = normalize_name(name, prefix) - details = details.merge(:handlers => default_handlers) - cached(key, prefix, name, partial) do find_templates(name, prefix, partial, details) end @@ -34,10 +27,6 @@ module ActionView @caching ||= !defined?(Rails.application) || Rails.application.config.cache_classes end - def default_handlers - Template::Handlers.extensions + [nil] - end - # This is what child classes implement. No defaults are needed # because Resolver guarantees that the arguments are present and # normalized. @@ -45,17 +34,6 @@ module ActionView raise NotImplementedError end - # Support legacy foo.erb names even though we now ignore .erb - # as well as incorrectly putting part of the path in the template - # name instead of the prefix. - def normalize_name(name, prefix) - handlers = Template::Handlers.extensions.join('|') - name = name.to_s.gsub(/\.(?:#{handlers})$/, '') - - parts = name.split('/') - return parts.pop, [prefix, *parts].compact.join("/") - end - def cached(key, prefix, name, partial) return yield unless key && caching? scope = @cached[key][prefix][name] @@ -93,7 +71,7 @@ module ActionView query = File.join(@path, path) exts.each do |ext| - query << '{' << ext.map {|e| e && ".#{e}" }.join(',') << '}' + query << '{' << ext.map {|e| e && ".#{e}" }.join(',') << ',}' end Dir[query].reject { |p| File.directory?(p) }.map do |p| |