Module: OpenStax::Utilities::Assets

Defined in:
lib/openstax/utilities/assets.rb,
lib/openstax/utilities/assets/manifest.rb

Defined Under Namespace

Classes: Manifest

Class Method Summary collapse

Class Method Details

.digest_for(asset) ⇒ Object



25
26
27
# File 'lib/openstax/utilities/assets.rb', line 25

def self.digest_for(asset)
  Digest::MD5.hexdigest tags_for(asset)
end

.manifestObject



15
16
17
# File 'lib/openstax/utilities/assets.rb', line 15

def self.manifest
  RequestStore.store[:assets_manifest] ||= OpenStax::Utilities::Assets::Manifest.new
end

.tags_for(asset) ⇒ Object



19
20
21
22
23
# File 'lib/openstax/utilities/assets.rb', line 19

def self.tags_for(asset)
  manifest[asset].map do |chunk|
    "<script type='text/javascript' src='#{chunk}' crossorigin='anonymous' async></script>"
  end.join("\n").html_safe
end

.urlObject



6
7
8
9
# File 'lib/openstax/utilities/assets.rb', line 6

def self.url
  url = OpenStax::Utilities.configuration.assets_url
  url.ends_with?('/') ? url : "#{url}/"
end

.url_for(asset) ⇒ Object



11
12
13
# File 'lib/openstax/utilities/assets.rb', line 11

def self.url_for(asset)
  "#{url}#{asset}"
end