class Jekyll::Assets::Liquid::Tag::Defaults::Sha

Public Class Methods

for?(tag) click to toggle source

– What we plan to accept for. –

# File lib/jekyll/assets/liquid/tag/defaults/sha.rb, line 15
def self.for?(tag)
  return tag == "css" || tag == "js"
end
new(args, asset, env) click to toggle source

– Initialize a new instance. –

# File lib/jekyll/assets/liquid/tag/defaults/sha.rb, line 22
def initialize(args, asset, env)
  @args = args
  @asset = asset
  @env = env
end

Public Instance Methods

set!() click to toggle source

– Run the defaults. –

# File lib/jekyll/assets/liquid/tag/defaults/sha.rb, line 31
def set!
  set_integrity
end
set_integrity() click to toggle source

– Set the integrity attribute. @return [nil] –

# File lib/jekyll/assets/liquid/tag/defaults/sha.rb, line 39
def set_integrity
  digest = Sprockets::DigestUtils.integrity_uri(
    Digest::SHA384.digest(
      @asset.to_s
    )
  )

  @args.args[:html] ||= {}
  if @env.asset_config["features"]["integrity"]
    @args.args[:html]["integrity"] = digest
    @args.args[:html]["crossorigin"] = "anonymous"                    unless @args.args[:html]["crossorigin"]
  end
end