Class: CacheManifest

Inherits:
Object
  • Object
show all
Includes:
Autostruct::Wrap
Defined in:
lib/middleman/caching_proxy/cache_manifest.rb

Constant Summary collapse

FILENAME =
".manifest.json"
KEY =
"key"
ITEMS =
"items"
VERSION =
"version"

Instance Method Summary collapse

Constructor Details

#initialize(path:, key:) ⇒ CacheManifest

Returns a new instance of CacheManifest.



12
13
14
15
# File 'lib/middleman/caching_proxy/cache_manifest.rb', line 12

def initialize(path:, key:)
  @manifest = nil
  @items = nil
end

Instance Method Details

#add(item) ⇒ Object



22
23
24
# File 'lib/middleman/caching_proxy/cache_manifest.rb', line 22

def add(item)
  items[item.path] = item.fingerprint
end

#has?(item) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/middleman/caching_proxy/cache_manifest.rb', line 18

def has?(item)
  items[item.path] == item.fingerprint
end

#saveObject



26
27
28
29
30
31
# File 'lib/middleman/caching_proxy/cache_manifest.rb', line 26

def save
  ensure_cache_directory
  File.open(manifest_path, "w") do |f|
    f.write build(items: items).to_json
  end
end