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 15
def asset_pipeline_present?
  defined?(::Rails) &&
    ::Rails.application.respond_to?(:assets) &&
    ::Rails.application.assets
end
file_name(url) click to toggle source
# File lib/premailer/rails/css_loaders/asset_pipeline_loader.rb, line 21
def file_name(url)
  URI(url).path
    .sub("#{::Rails.configuration.assets.prefix}/", '')
    .sub(/-(\h{32}|\h{64})\.css$/, '.css')
end
load(url) click to toggle source
# File lib/premailer/rails/css_loaders/asset_pipeline_loader.rb, line 7
def load(url)
  if asset_pipeline_present?
    file = file_name(url)
    asset = ::Rails.application.assets.find_asset(file)
    asset.to_s if asset
  end
end