module Premailer::Rails::CSSLoaders::AssetPipelineLoader
Public Instance Methods
asset_pipeline_present?()
click to toggle source
# File lib/premailer/rails/css_loaders/asset_pipeline_loader.rb, line 26 def asset_pipeline_present? defined?(::Rails) && ::Rails.respond_to?(:application) && ::Rails.application && ::Rails.application.respond_to?(:assets_manifest) && ::Rails.application.assets_manifest end
file_name(url)
click to toggle source
# File lib/premailer/rails/css_loaders/asset_pipeline_loader.rb, line 15 def file_name(url) prefix = [ ::Rails.configuration.relative_url_root, ::Rails.configuration.assets.prefix, '/' ].join URI(url).path .sub(/\A#{prefix}/, '') .sub(/-(\h{32}|\h{64})\.css\z/, '.css') end
load(url)
click to toggle source
# File lib/premailer/rails/css_loaders/asset_pipeline_loader.rb, line 7 def load(url) return unless asset_pipeline_present? file = file_name(url) ::Rails.application.assets_manifest.find_sources(file).first rescue Errno::ENOENT, TypeError => _error end