Sha256: 17a79daed0508c35d65f0ca36aa1eff59d4467fde14446bc9ec7a4fee4df2b1f
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
module Trackman module Assets module CompositeAsset @@url ||= /url\(['"]?([^'"\)]+)['"]?\)/ @@import ||= /url\(['"]?[^'"\)]+['"]?\)/ def self.included(mod) mod.send(:include, Path::Resolver) end def self.extended(mod) mod.send(:extend, Path::Resolver) end def assets internals = children_paths.select{|p| p.internal_path? }.map{|p| {:old => p, :new_path => translate(p, path)} } internals = internals.select{|p| !p[:new_path].nil? }.map{|p| asset_from(p[:old], p[:new_path])} internals.inject([]) do |sum, a| (sum << a) + a.assets.select{|child| !sum.include?(child) } end end def asset_from(virtual, physical) Asset.create(:virtual_path => virtual, :path => physical) end def inner_css_paths #clean css comments my_data = data.gsub(/\/\*.*\*\//m, '') my_data = my_data.gsub(/\<\!\-\-.*\-\-\>/m, '') my_data.scan(@@import).collect{|x| @@url.match(x)[1]}.select{|x| !x.embedded? } end end end end class String def internal_path? self !~ /^http/ end def embedded? self.include? 'data:' end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
trackman-0.6.6 | lib/trackman/assets/composite_asset.rb |
trackman-0.6.5 | lib/trackman/assets/composite_asset.rb |