Sha256: 622ab0d39a8055d11c853b3ec0fdd8931ab4e372f0b5ff53f5fcbcc87a6ac823
Contents?: true
Size: 1.1 KB
Versions: 3
Compression:
Stored size: 1.1 KB
Contents
require 'digest/md5' require 'dassets/cache' require 'dassets/source_file' module Dassets; end class Dassets::SourceProxy attr_reader :digest_path, :cache, :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) end def key "#{self.digest_path} -- #{self.mtime}" end def content @cache["#{self.key} -- content"] ||= source_content end def fingerprint @cache["#{self.key} -- fingerprint"] ||= source_fingerprint end def mtime @source_files.map{ |f| f.mtime }.compact.max end def exists? @source_files.inject(true){ |res, f| res && f.exists? } end private def source_content @source_files.map{ |f| f.compiled }.join("\n") end def source_fingerprint Digest::MD5.new.hexdigest(source_content) end def get_source_files(digest_path, cache) Dassets.config.combinations[digest_path.to_s].map do |source_digest_path| Dassets::SourceFile.find_by_digest_path(source_digest_path, cache) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dassets-0.12.0 | lib/dassets/source_proxy.rb |
dassets-0.11.0 | lib/dassets/source_proxy.rb |
dassets-0.10.1 | lib/dassets/source_proxy.rb |