Class: Middleman::CachingProxy::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.



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

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

Instance Method Details

#add(item) ⇒ Object



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

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

#has?(item) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#saveObject



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

def save
  ensure_cache_directory

  File.write manifest_path, build(items: items).to_json
end