lib/dassets/source_proxy.rb in dassets-0.12.0 vs lib/dassets/source_proxy.rb in dassets-0.13.0
- old
+ new
@@ -3,28 +3,34 @@
require 'dassets/source_file'
module Dassets; end
class Dassets::SourceProxy
- attr_reader :digest_path, :cache, :source_files
+ attr_reader :digest_path, :content_cache, :fingerprint_cache
+ attr_reader :source_files
- def initialize(digest_path, cache = nil)
- @digest_path = digest_path
- @cache = cache || Dassets::Cache::NoCache.new
- @source_files = get_source_files(@digest_path, @cache)
+ def initialize(digest_path, options = nil)
+ options ||= {}
+ @digest_path = digest_path
+ @content_cache = options[:content_cache] || Dassets::Cache::NoCache.new
+ @fingerprint_cache = options[:fingerprint_cache] || Dassets::Cache::NoCache.new
+ @source_files = get_source_files(@digest_path, {
+ :content_cache => @content_cache,
+ :fingerprint_cache => @fingerprint_cache
+ })
end
def key
"#{self.digest_path} -- #{self.mtime}"
end
def content
- @cache["#{self.key} -- content"] ||= source_content
+ @content_cache[self.key] ||= source_content
end
def fingerprint
- @cache["#{self.key} -- fingerprint"] ||= source_fingerprint
+ @fingerprint_cache[self.key] ||= source_fingerprint
end
def mtime
@source_files.map{ |f| f.mtime }.compact.max
end
@@ -41,12 +47,12 @@
def source_fingerprint
Digest::MD5.new.hexdigest(source_content)
end
- def get_source_files(digest_path, cache)
+ def get_source_files(digest_path, options)
Dassets.config.combinations[digest_path.to_s].map do |source_digest_path|
- Dassets::SourceFile.find_by_digest_path(source_digest_path, cache)
+ Dassets::SourceFile.find_by_digest_path(source_digest_path, options)
end
end
end