lib/classy_assets.rb in classy_assets-0.4.5 vs lib/classy_assets.rb in classy_assets-0.5.0

- old
+ new

@@ -1,23 +1,38 @@ # encoding: utf-8 +# ensure these come first to avoid tilt warnings require 'compass' require 'sass' require 'coffee_script' -require 'sprockets' + +# stdlib +require 'base64' +require 'escape_utils' require 'sinatra/base' +require 'sprockets' + +# classy assets components require 'classy_assets/configuration' -require 'classy_assets/sass_script_functions' +require 'classy_assets/sass/script/functions' +require 'classy_assets/sprockets/sass_importer' require 'classy_assets/version' +# Utility methods module ClassyAssets def self.asset_url_for(asset) asset = Configuration.sprockets[asset].send(determine_path_type) debug = (Configuration.debug_mode) ? '?body=1' : '' "#{Configuration.asset_host}/#{Configuration.asset_prefix}/#{asset}#{debug}" end + def self.asset_data_uri_for(asset) + asset = Configuration.sprockets[asset] + base64 = Base64.encode64(asset.to_s).gsub(/\s+/, "") + "data:#{asset.content_type};base64,#{EscapeUtils.escape_url(base64)}" + end + def self.asset_tag_from(sources, ext) sources = [sources] unless sources.is_a? Array sources.map do |source| source = "#{source}.#{ext}" unless source =~ /\.#{ext}$/ asset_url = (source =~ /\/|http/) ? source : ::ClassyAssets.asset_url_for(source) @@ -27,6 +42,5 @@ def self.determine_path_type (Configuration.asset_digest) ? :digest_path : :logical_path end end -