diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-08-08 21:03:40 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-08-08 21:03:40 -0700 |
commit | 295a7fd1bb8f56a1c35162bb944c36357008001a (patch) | |
tree | 195edef8dca75d95da4952f736cc13aa03012202 /actionpack | |
parent | 940404096fecd57fdece94d0a6cfe524f20a2aa8 (diff) | |
download | rails-295a7fd1bb8f56a1c35162bb944c36357008001a.tar.gz rails-295a7fd1bb8f56a1c35162bb944c36357008001a.tar.bz2 rails-295a7fd1bb8f56a1c35162bb944c36357008001a.zip |
hash on the template directory in order to improve cache hits
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_view/template/resolver.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/template/resolver.rb b/actionpack/lib/action_view/template/resolver.rb index 7c1636fb60..979be701b2 100644 --- a/actionpack/lib/action_view/template/resolver.rb +++ b/actionpack/lib/action_view/template/resolver.rb @@ -132,10 +132,11 @@ module ActionView def query(path, details, formats) query = build_query(path, details) templates = [] - sanitizer = Hash.new { |h,k| h[k] = Dir["#{File.dirname(k)}/*"] } + sanitizer = Hash.new { |h,dir| h[dir] = Dir["#{dir}/*"] } Dir[query].each do |template| - next if File.directory?(template) || !sanitizer[template].include?(template) + next if File.directory?(template) + next unless sanitizer[File.dirname(template)].include?(template) handler, format = extract_handler_and_format(template, formats) contents = File.binread template |