class AssetPacker::Processor::Local

Public Instance Methods

call(doc) click to toggle source
# File lib/asset_packer/processor/local.rb, line 5
def call(doc)
  Chain.new([Image, Script, Stylesheet].map {|klz|
    klz.new(source_uri, asset_dir, destination)
  }).(doc)
end
save_asset(uri, extension) { |content| ... } click to toggle source
# File lib/asset_packer/processor/local.rb, line 11
def save_asset(uri, extension)
  return uri if uri =~ /^data:/
  asset_dir.mkdir unless asset_dir.directory?
  content = retrieve_asset(uri)
  content = yield(content) if block_given?
  digest  = Digest::MD5.hexdigest(content)
  target  = asset_dir.join(extension ? digest + '.' + extension : digest)
  File.write(target, content) unless target.exist?
  target.relative_path_from(destination.dirname)
end