Class: RailsExternalAssets::AssetFinder

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_external_assets/asset_finder.rb

Constant Summary collapse

@@manifest_file =
nil

Class Method Summary collapse

Class Method Details

.asset_manifestObject



18
19
20
21
22
23
# File 'lib/rails_external_assets/asset_finder.rb', line 18

def asset_manifest
  return @@manifest_file unless @@manifest_file.nil?
  manifest_file = RailsExternalAssets.config.manifest_file
  throw_invalid_manifest(manifest_file) unless File.file? manifest_file
  @@manifest_file = JSON.parse(File.read manifest_file)
end

.asset_path(path) ⇒ Object



12
13
14
15
16
# File 'lib/rails_external_assets/asset_finder.rb', line 12

def asset_path(path)
  new_path = asset_manifest[path]
  throw_unknown_path(path, RailsExternalAssets.config.manifest_file) unless new_path
  new_path
end

.clear_manifest_cacheObject



25
26
27
# File 'lib/rails_external_assets/asset_finder.rb', line 25

def clear_manifest_cache
  @@manifest_file = nil
end

.external_asset(path) ⇒ Object



7
8
9
10
# File 'lib/rails_external_assets/asset_finder.rb', line 7

def external_asset(path)
  external_path = File.join(RailsExternalAssets.config.base_path, asset_path(path))
  block_given? ? yield(external_path) : external_path
end