Class: Jekyll::ViewSource::Cache
- Inherits:
-
Object
- Object
- Jekyll::ViewSource::Cache
- Defined in:
- lib/jekyll-viewsource/cache.rb
Constant Summary collapse
- DEFAULT_CACHE =
File.join(Dir.home, '.jekyll-plugins', 'jekyll-viewsource', 'cache').freeze
Class Method Summary collapse
- .contents(uri, dest, content = nil) ⇒ Object
- .location(uri, dest) ⇒ Object
- .modified?(source, dest, expiry = nil) ⇒ Boolean
- .setup(site, cache) ⇒ Object
- .valid?(source, dest, expiry = nil) ⇒ Boolean
Class Method Details
.contents(uri, dest, content = nil) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/jekyll-viewsource/cache.rb', line 33 def self.contents(uri, dest, content = nil) filepath = self.location(uri, dest) return if !filepath if content FileUtils.mkdir_p Pathname(filepath).dirname File.write(filepath, content) else if File.exist?(filepath) content = File.read filepath end end content end |
.location(uri, dest) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/jekyll-viewsource/cache.rb', line 21 def self.location(uri, dest) return if !@cache_dir subdir = Digest::SHA256.hexdigest(uri) filename = File.basename(dest) #filepath = Pathname(uri).dirname #File.join(cache_path, subdir, filepath, filename) File.join(@cache_dir, subdir, filename) end |
.modified?(source, dest, expiry = nil) ⇒ Boolean
49 50 51 52 53 54 55 56 57 |
# File 'lib/jekyll-viewsource/cache.rb', line 49 def self.modified?(source, dest, expiry = nil) cache_path = self.location(source, dest) if source =~ %r[://] mod = Utils.modified?(nil, cache_path, expiry) else mod = Utils.modified?(source, cache_path, expiry) end mod end |
.setup(site, cache) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/jekyll-viewsource/cache.rb', line 9 def self.setup(site, cache) @site = site if cache @cache_dir = (cache.is_a?(String) ? cache : DEFAULT_CACHE) ViewSource.debug 'startup', "Setting up cache at #{@cache_dir}" if Renderer.first_run FileUtils.mkdir_p File.join(@cache_dir) end end |
.valid?(source, dest, expiry = nil) ⇒ Boolean
59 60 61 |
# File 'lib/jekyll-viewsource/cache.rb', line 59 def self.valid?(source, dest, expiry = nil) ! self.modified?(source, dest, expiry) end |