edge badge
Methods
C
D
N
T
Attributes
[R] children
[R] logical_name
[R] name
[R] template
Class Public methods
create(name, logical_name, template, partial)
# File actionview/lib/action_view/digestor.rb, line 78
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 = [])
# File actionview/lib/action_view/digestor.rb, line 83
def initialize(name, logical_name, template, children = [])
  @name         = name
  @logical_name = logical_name
  @template     = template
  @children     = children
end
Instance Public methods
dependency_digest(finder, stack)
# File actionview/lib/action_view/digestor.rb, line 94
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 = [])
# File actionview/lib/action_view/digestor.rb, line 90
def digest(finder, stack = [])
  ActiveSupport::Digest.hexdigest("#{template.source}-#{dependency_digest(finder, stack)}")
end
to_dep_map()
# File actionview/lib/action_view/digestor.rb, line 107
def to_dep_map
  children.any? ? { name => children.map(&:to_dep_map) } : name
end