diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2016-02-16 14:25:34 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2016-02-16 15:34:16 -0800 |
commit | 497b1350bbfb35ea3e57f5b8363d5d8605930aa6 (patch) | |
tree | cec1260c5ae9d75f1f7482afe63c5bec55dc0b8b | |
parent | 8fb853a283fa7411908517b32d6adc811f743b22 (diff) | |
download | rails-497b1350bbfb35ea3e57f5b8363d5d8605930aa6.tar.gz rails-497b1350bbfb35ea3e57f5b8363d5d8605930aa6.tar.bz2 rails-497b1350bbfb35ea3e57f5b8363d5d8605930aa6.zip |
convert structs to a regular class
-rw-r--r-- | actionview/lib/action_view/digestor.rb | 20 |
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 |