class Hanko::Fingerprint

Attributes

cachable[W]
prefix[W]
suffix[W]

Public Class Methods

digest_class=(klass) click to toggle source
# File lib/hanko/fingerprint.rb, line 16
def digest_class=(klass)
  @cached_pon = {}
  @digest_class = klass
end
pon(assets_dir, source) click to toggle source
# File lib/hanko/fingerprint.rb, line 8
def pon(assets_dir, source)
  if cachable?
    cached_pon[source] ||= generate_pon(assets_dir, source)
  else
    generate_pon(assets_dir, source)
  end
end

Private Class Methods

cachable?() click to toggle source
# File lib/hanko/fingerprint.rb, line 45
def cachable?
  return @cachable if defined?(@cachable)
  true
end
cached_pon() click to toggle source
# File lib/hanko/fingerprint.rb, line 23
def cached_pon
  @cached_pon ||= {}
end
digest_class() click to toggle source
# File lib/hanko/fingerprint.rb, line 40
def digest_class
  return @digest_class if defined?(@digest_class)
  ::Digest::SHA256
end
file_digest(path) click to toggle source
# File lib/hanko/fingerprint.rb, line 36
def file_digest(path)
  digest_class.file(path).hexdigest
end
generate_pon(assets_dir, source) click to toggle source
# File lib/hanko/fingerprint.rb, line 27
def generate_pon(assets_dir, source)
  path = File.join(assets_dir || '', source)
  return '' unless File.file?(path)
  fp = file_digest(path)
  fp = "#{prefix}#{fp}" if prefix
  fp = "#{fp}#{suffix}" if suffix
  fp
end
prefix() click to toggle source
# File lib/hanko/fingerprint.rb, line 50
def prefix
  @prefix if defined?(@prefix)
end
suffix() click to toggle source
# File lib/hanko/fingerprint.rb, line 54
def suffix
  @suffix if defined?(@suffix)
end