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
-