Skip to content

Commit 59c020c

Browse files
sssiongggnesquena
authored andcommitted
Custom digester for each file and its dependencies. Inherited from ActionView::Digestor.
Reference: https://github.com/rails/rails/blob/master/actionpack/lib/action_view/digestor.rb
1 parent 93df4bc commit 59c020c

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

lib/rabl/digestor.rb

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
module Rabl
2+
class Digestor < ActionView::Digestor
3+
# Override the original digest function to ignore partial which
4+
# rabl doesn't use the Rails conventional _ symbol.
5+
def self.digest(name, format, finder, options = {})
6+
cache_key = [name, format] + Array.wrap(options[:dependencies])
7+
@@cache[cache_key.join('.')] ||= begin
8+
Digestor.new(name, format, finder, options).digest
9+
end
10+
end
11+
12+
private
13+
def dependency_digest
14+
template_digests = dependencies.collect do |template_name|
15+
Digestor.digest(template_name, format, finder, partial: true)
16+
end
17+
18+
(template_digests + injected_dependencies).join("-")
19+
end
20+
end
21+
end

0 commit comments

Comments
 (0)