Class: AssetID::Cache
- Inherits:
-
Object
- Object
- AssetID::Cache
- Defined in:
- lib/asset_id/cache.rb
Class Method Summary collapse
- .cache ⇒ Object
- .cache_path ⇒ Object
- .empty ⇒ Object
- .get(asset) ⇒ Object
- .hit?(asset) ⇒ Boolean
- .miss?(asset) ⇒ Boolean
- .save! ⇒ Object
Class Method Details
.cache ⇒ Object
10 11 12 |
# File 'lib/asset_id/cache.rb', line 10 def self.cache @cache ||= YAML.load_file(cache_path) rescue {} end |
.cache_path ⇒ Object
14 15 16 |
# File 'lib/asset_id/cache.rb', line 14 def self.cache_path File.join(Rails.root, 'log', 'asset_id_cache.yml') end |
.empty ⇒ Object
6 7 8 |
# File 'lib/asset_id/cache.rb', line 6 def self.empty @cache = {} end |
.get(asset) ⇒ Object
18 19 20 |
# File 'lib/asset_id/cache.rb', line 18 def self.get(asset) cache[asset.relative_path] end |
.hit?(asset) ⇒ Boolean
22 23 24 25 26 |
# File 'lib/asset_id/cache.rb', line 22 def self.hit?(asset) return true if cache[asset.relative_path] and cache[asset.relative_path][:fingerprint] == asset.fingerprint cache[asset.relative_path] = {:expires => asset.expiry_date.to_s, :fingerprint => asset.fingerprint} false end |
.miss?(asset) ⇒ Boolean
28 29 30 |
# File 'lib/asset_id/cache.rb', line 28 def self.miss?(asset) !hit?(asset) end |
.save! ⇒ Object
32 33 34 |
# File 'lib/asset_id/cache.rb', line 32 def self.save! File.open(cache_path, 'w') {|f| f.write(YAML.dump(cache))} end |