class Rabl::Tracker

DependencyTracker for ActionView to support cache digest

Constants

EXTENDS_DEPENDENCY

Matches:

extends "categories/show"
PARTIAL_DEPENDENCY

Matches:

partial "categories/show"

Attributes

name[R]
template[R]

Public Class Methods

call(name, template) click to toggle source
# File lib/rabl/tracker.rb, line 20
def self.call(name, template)
  new(name, template).dependencies
end
new(name, template) click to toggle source
# File lib/rabl/tracker.rb, line 24
def initialize(name, template)
  @name, @template = name, template
end

Public Instance Methods

dependencies() click to toggle source
# File lib/rabl/tracker.rb, line 28
def dependencies
  (extends_dependencies + partial_dependencies).uniq
end

Private Instance Methods

directory() click to toggle source
# File lib/rabl/tracker.rb, line 41
def directory
  name.split("/")[0..-2].join("/")
end
extends_dependencies() click to toggle source
# File lib/rabl/tracker.rb, line 45
def extends_dependencies
  source.scan(EXTENDS_DEPENDENCY).flatten
end
partial_dependencies() click to toggle source
# File lib/rabl/tracker.rb, line 49
def partial_dependencies
  source.scan(PARTIAL_DEPENDENCY).flatten
end
source() click to toggle source
# File lib/rabl/tracker.rb, line 37
def source
  template.source
end