class Assetify::Pathfix
Attempt to fix assets in js/css for image_url
Attributes
images[R]
Public Class Methods
new(chunk, renderer = :erb, ns = nil)
click to toggle source
# File lib/assetify/asset/pathfix.rb, line 6 def initialize(chunk, renderer = :erb, ns = nil) @chunk = chunk @renderer = renderer @ns = ns @images = scan_images end
Public Instance Methods
fix()
click to toggle source
# File lib/assetify/asset/pathfix.rb, line 28 def fix @images.each do |path| @chunk["url(#{path})"] = replace path.split('/').last end @renderer != :erb ? tmpl_chunk : @chunk end
replace(src)
click to toggle source
# File lib/assetify/asset/pathfix.rb, line 19 def replace(src) fpath = @ns ? "#{@ns}/#{src}" : src if @renderer == :erb "url('<%= image_path('#{fpath}') %>')" else "image-url('#{fpath}')" end end
scan_images()
click to toggle source
# File lib/assetify/asset/pathfix.rb, line 15 def scan_images @chunk.scan(%r{url\(([a-zA-Z0-9/\_\-\.]*\.\w+)\)}xo).flatten end
tmpl_chunk()
click to toggle source
# File lib/assetify/asset/pathfix.rb, line 35 def tmpl_chunk require 'sass/css' Sass::CSS.new(@chunk).render(@renderer) rescue Sass::SyntaxError => e @error = e end