module IziLightup::Asset
Public Class Methods
[](name)
click to toggle source
# File lib/izi_lightup/asset.rb, line 6 def [](name) return cache[name] if cache.key?(name) info = ::IziLightup::AssetInfo.new(name, environment: environment, manifest: manifest) # clear info if asset not exist info = nil unless info.exist? cache[name] = info end
Private Class Methods
app()
click to toggle source
# File lib/izi_lightup/asset.rb, line 32 def app Rails.application end
assets_output_dir()
click to toggle source
# File lib/izi_lightup/asset.rb, line 51 def assets_output_dir @assets_output_dir ||= Rails.root.join('public', assets_prefix) end
assets_prefix()
click to toggle source
# File lib/izi_lightup/asset.rb, line 55 def assets_prefix app.config.assets.prefix.presence&.gsub(%r{^/}, '') || 'assets' end
cache()
click to toggle source
# File lib/izi_lightup/asset.rb, line 18 def cache @cache ||= {} end
environment()
click to toggle source
# File lib/izi_lightup/asset.rb, line 40 def environment @environment ||= app.assets if environment? end
environment?()
click to toggle source
# File lib/izi_lightup/asset.rb, line 22 def environment? app.assets.is_a?(::Sprockets::Environment) || app.assets.is_a?(::Sprockets::CachedEnvironment) end
find_or_build_assets_manifest()
click to toggle source
# File lib/izi_lightup/asset.rb, line 44 def find_or_build_assets_manifest return app.assets_manifest if manifest? env = app.try(:assets).presence || ::Sprockets::Environment.new(Rails.root) ::Sprockets::Manifest.new(env, assets_output_dir) end
manifest()
click to toggle source
# File lib/izi_lightup/asset.rb, line 36 def manifest @manifest ||= find_or_build_assets_manifest end
manifest?()
click to toggle source
# File lib/izi_lightup/asset.rb, line 27 def manifest? app.respond_to?(:assets_manifest) && app.assets_manifest.is_a?(::Sprockets::Manifest) end