Sha256: 2882e599f546b3b29605cf19af14991189af97e8f243ae3257c1176a3a1d2a75
Contents?: true
Size: 1.6 KB
Versions: 3
Compression:
Stored size: 1.6 KB
Contents
class Premailer module Rails module CSSLoaders # Loads the CSS from cache when not in development env. module CacheLoader extend self def load(path) unless ::Rails.env.development? CSSHelper.cache[path] end end end # Loads the CSS from the asset pipeline. module AssetPipelineLoader extend self def load(path) if assets_enabled? file = file_name(path) if asset = ::Rails.application.assets.find_asset(file) asset.to_s else request_and_unzip(file) end end end def assets_enabled? ::Rails.configuration.assets.enabled rescue false end def file_name(path) path.sub("#{::Rails.configuration.assets.prefix}/", '') \ .sub(/-.*\.css$/, '.css') end def request_and_unzip(file) url = [ ::Rails.configuration.action_controller.asset_host, ::Rails.configuration.assets.prefix.sub(/^\//, ''), ::Rails.configuration.assets.digests[file] ].join('/') response = Kernel.open(url) begin Zlib::GzipReader.new(response).read rescue Zlib::GzipFile::Error, Zlib::Error response.rewind response.read end end end # Loads the CSS from the file system. module FileSystemLoader extend self def load(path) File.read("#{::Rails.root}/public#{path}") end end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
premailer-rails-1.4.0 | lib/premailer/rails/css_loaders.rb |
premailer-rails3-1.3.2 | lib/premailer/rails/css_loaders.rb |
premailer-rails-1.3.2 | lib/premailer/rails/css_loaders.rb |