class ActionView::Digestor::Node
Attributes
children[R]
logical_name[R]
name[R]
template[R]
Public Class Methods
create(name, logical_name, template, partial)
click to toggle source
# File actionview/lib/action_view/digestor.rb, line 79 def self.create(name, logical_name, template, partial) klass = partial ? Partial : Node klass.new(name, logical_name, template, []) end
new(name, logical_name, template, children = [])
click to toggle source
# File actionview/lib/action_view/digestor.rb, line 84 def initialize(name, logical_name, template, children = []) @name = name @logical_name = logical_name @template = template @children = children end
Public Instance Methods
dependency_digest(finder, stack)
click to toggle source
# File actionview/lib/action_view/digestor.rb, line 95 def dependency_digest(finder, stack) children.map do |node| if stack.include?(node) false else finder.digest_cache[node.name] ||= begin stack.push node node.digest(finder, stack).tap { stack.pop } end end end.join("-") end
digest(finder, stack = [])
click to toggle source
# File actionview/lib/action_view/digestor.rb, line 91 def digest(finder, stack = []) Digest::MD5.hexdigest("#{template.source}-#{dependency_digest(finder, stack)}") end
flatten()
click to toggle source
# File actionview/test/template/digestor_test.rb, line 28 def flatten [self] + children.flat_map(&:flatten) end
to_dep_map()
click to toggle source
# File actionview/lib/action_view/digestor.rb, line 108 def to_dep_map children.any? ? { name => children.map(&:to_dep_map) } : name end