Sha256: df000335419d6fc74736233ece629434892e5b5c43dd3cd1f3d5c9695e490cff

Contents?: true

Size: 642 Bytes

Versions: 4

Compression:

Stored size: 642 Bytes

Contents

class Premailer
  module Rails
    module CSSLoaders
      module AssetPipelineLoader
        extend self

        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

        def asset_pipeline_present?
          defined?(::Rails) and ::Rails.application.respond_to?(:assets)
        end

        def file_name(url)
          URI(url).path
            .sub("#{::Rails.configuration.assets.prefix}/", '')
            .sub(/-\h{32}\.css$/, '.css')
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
premailer-rails-1.8.0 lib/premailer/rails/css_loaders/asset_pipeline_loader.rb
premailer-rails-1.7.0 lib/premailer/rails/css_loaders/asset_pipeline_loader.rb
premailer-rails-1.6.1 lib/premailer/rails/css_loaders/asset_pipeline_loader.rb
premailer-rails-1.6.0 lib/premailer/rails/css_loaders/asset_pipeline_loader.rb