aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/digestor.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2016-02-16 14:25:34 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2016-02-16 15:34:16 -0800
commit497b1350bbfb35ea3e57f5b8363d5d8605930aa6 (patch)
treecec1260c5ae9d75f1f7482afe63c5bec55dc0b8b /actionview/lib/action_view/digestor.rb
parent8fb853a283fa7411908517b32d6adc811f743b22 (diff)
downloadrails-497b1350bbfb35ea3e57f5b8363d5d8605930aa6.tar.gz
rails-497b1350bbfb35ea3e57f5b8363d5d8605930aa6.tar.bz2
rails-497b1350bbfb35ea3e57f5b8363d5d8605930aa6.zip
convert structs to a regular class
Diffstat (limited to 'actionview/lib/action_view/digestor.rb')
-rw-r--r--actionview/lib/action_view/digestor.rb20
1 files changed, 12 insertions, 8 deletions
diff --git a/actionview/lib/action_view/digestor.rb b/actionview/lib/action_view/digestor.rb
index cba449b53c..9b51579117 100644
--- a/actionview/lib/action_view/digestor.rb
+++ b/actionview/lib/action_view/digestor.rb
@@ -68,20 +68,21 @@ module ActionView
node = seen[template.identifier] = Node.create(name, logical_name, template, partial)
deps = DependencyTracker.find_dependencies(name, template, finder.view_paths)
- deps.each do |dep_file|
+ deps.uniq { |n| n.gsub(%r|/_|, "/") }.each do |dep_file|
node.children << tree(dep_file, finder, [], true, seen)
end
- injected.each do |template|
- node.children << Injected.new(template, nil, nil)
+ injected.each do |injected_dep|
+ node.children << Injected.new(injected_dep, nil, nil)
end
node
end
else
- seen[name] = Missing.new(name, logical_name, nil)
+ seen[name] ||= Missing.new(name, logical_name, nil)
end
end
- class Node < Struct.new(:name, :logical_name, :template, :children)
+ class Node
+ attr_reader :name, :logical_name, :template, :children
def self.class_for(partial)
partial ? Partial : Node
end
@@ -91,11 +92,14 @@ module ActionView
end
def initialize(name, logical_name, template, children = [])
- super
+ @name = name
+ @logical_name = logical_name
+ @template = template
+ @children = children
end
def to_dep(finder)
- Digestor.new(name, finder, partial: true)
+ Digestor.new(name, finder, partial: false)
end
def digest(stack = [])
@@ -116,7 +120,7 @@ module ActionView
class Partial < Node
def to_dep(finder)
- PartialDigestor.new(name, finder, partial: false)
+ PartialDigestor.new(name, finder, partial: true)
end
end