Methods

Attributes

[R] children
[R] logical_name
[R] name
[R] template

Class Public methods

create(name, logical_name, template, partial)

📝 Source code
# File actionview/lib/action_view/digestor.rb, line 81
      def self.create(name, logical_name, template, partial)
        klass = partial ? Partial : Node
        klass.new(name, logical_name, template, [])
      end
🔎 See on GitHub

new(name, logical_name, template, children = [])

📝 Source code
# File actionview/lib/action_view/digestor.rb, line 86
      def initialize(name, logical_name, template, children = [])
        @name         = name
        @logical_name = logical_name
        @template     = template
        @children     = children
      end
🔎 See on GitHub

Instance Public methods

dependency_digest(finder, stack)

📝 Source code
# File actionview/lib/action_view/digestor.rb, line 97
      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
🔎 See on GitHub

digest(finder, stack = [])

📝 Source code
# File actionview/lib/action_view/digestor.rb, line 93
      def digest(finder, stack = [])
        ActiveSupport::Digest.hexdigest("#{template.source}-#{dependency_digest(finder, stack)}")
      end
🔎 See on GitHub

to_dep_map()

📝 Source code
# File actionview/lib/action_view/digestor.rb, line 110
      def to_dep_map
        children.any? ? { name => children.map(&:to_dep_map) } : name
      end
🔎 See on GitHub