aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/digestor.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2016-02-12 17:21:22 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2016-02-16 15:32:15 -0800
commitec8e0bc89ab71ed41b4e8d5234b5e09ba93480e9 (patch)
tree82d0e66b1b7e5786cf2c9998f52211f56d26efb0 /actionview/lib/action_view/digestor.rb
parent687109abba6a17c31845f79bffa7dbc429afb5e5 (diff)
downloadrails-ec8e0bc89ab71ed41b4e8d5234b5e09ba93480e9.tar.gz
rails-ec8e0bc89ab71ed41b4e8d5234b5e09ba93480e9.tar.bz2
rails-ec8e0bc89ab71ed41b4e8d5234b5e09ba93480e9.zip
pull template check up to match existing behavior
also remove the EMPTY node since we won't need it
Diffstat (limited to 'actionview/lib/action_view/digestor.rb')
-rw-r--r--actionview/lib/action_view/digestor.rb23
1 files changed, 10 insertions, 13 deletions
diff --git a/actionview/lib/action_view/digestor.rb b/actionview/lib/action_view/digestor.rb
index d31154061c..cda380c78d 100644
--- a/actionview/lib/action_view/digestor.rb
+++ b/actionview/lib/action_view/digestor.rb
@@ -55,26 +55,23 @@ module ActionView
end
end
- EMPTY = Class.new {
- def name; 'missing'; end
- def digest; ''; end
- }.new
-
def self.tree(name, finder, partial = false, seen = {})
if obj = seen[name]
obj
else
logical_name = name.gsub(%r|/_|, "/")
- template = finder.disable_cache { finder.find(logical_name, [], partial) }
- node = seen[name] = Node.new(name, logical_name, template, partial, [])
+
+ if finder.disable_cache { finder.exists?(logical_name, [], partial) }
+ template = finder.disable_cache { finder.find(logical_name, [], partial) }
+ node = seen[name] = Node.new(name, logical_name, template, partial, [])
+ else
+ node = seen[name] = Missing.new(name, logical_name, nil, partial, [])
+ return node
+ end
+
deps = DependencyTracker.find_dependencies(name, template, finder.view_paths)
deps.each do |dep_file|
- l_name = dep_file.gsub(%r|/_|, "/")
- if finder.disable_cache { finder.exists?(l_name, [], true) }
- node.children << tree(dep_file, finder, true, seen)
- else
- node.children << Missing.new(dep_file, l_name, nil, true, [])
- end
+ node.children << tree(dep_file, finder, true, seen)
end
node
end