Sha256: 426f5a4f20d13d67a1702d3a748f70afabe5c5458323af9210755918c69614c1
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
module Trackman module Assets module Components module CompositeAsset @@url = /url\(['"]?([^'")]+)['"]?\)/ @@import = /url\(['"]?[^'"]+['"]?\)/ def self.included(mod) mod.send(:include, PathResolver) end def self.extended(mod) mod.send(:extend, PathResolver) end def assets internals = children_paths.select{|p| p.internal_path? }.map{|p| {old: p, new_path: translate(p, path)} } internals.select{|p| !p[:new_path].nil? }.map{|p| asset_from(p[:old], p[:new_path])}.inject([]) do |sum, a| sum << a sum.concat(a.assets.select{|child| !sum.include?(child) }) sum end end def asset_from(virtual, physical) Asset.create(:virtual_path => virtual.dup, :path => physical) end def inner_css_paths data.scan(@@import).collect{|x| @@url.match(x)[1]}.select{|x| !x.embedded? } end end end end end class String def internal_path? self !~ /^http/ end def embedded? self.include? 'data:' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trackman-0.4.2 | lib/trackman/assets/components/composite_asset.rb |