module Sprockets::Rails::LegacyAssetUrlHelper
Backports of AssetUrlHelper methods for Rails 2.x and 3.x.
Constants
- ASSET_EXTENSIONS
- ASSET_PUBLIC_DIRECTORIES
- URI_REGEXP
Public Instance Methods
asset_path(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 9 def asset_path(source, options = {}) source = source.to_s return "" unless source.present? return source if source =~ URI_REGEXP tail, source = source[/([\?#].+)$/], source.sub(/([\?#].+)$/, '') if extname = compute_asset_extname(source, options) source = "#{source}#{extname}" end if source[0] != ?/ source = compute_asset_path(source, options) end relative_url_root = defined?(config.relative_url_root) && config.relative_url_root if relative_url_root source = "#{relative_url_root}#{source}" unless source.starts_with?("#{relative_url_root}/") end if host = compute_asset_host(source, options) source = "#{host}#{source}" end "#{source}#{tail}" end
Also aliased as: path_to_asset
asset_url(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 37 def asset_url(source, options = {}) path_to_asset(source, options.merge(:protocol => :request)) end
audio_path(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 122 def audio_path(source, options = {}) path_to_asset(source, {:type => :audio}.merge(options)) end
Also aliased as: path_to_audio
compute_asset_extname(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 46 def compute_asset_extname(source, options = {}) return if options[:extname] == false extname = options[:extname] || ASSET_EXTENSIONS[options[:type]] extname if extname && File.extname(source) != extname end
compute_asset_host(source = "", options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 66 def compute_asset_host(source = "", options = {}) request = self.request if respond_to?(:request) if defined? config host = config.asset_host elsif defined? ActionController::Base.asset_host host = ActionController::Base.asset_host end host ||= request.base_url if request && options[:protocol] == :request return unless host if host.respond_to?(:call) arity = host.respond_to?(:arity) ? host.arity : host.method(:call).arity args = [source] args << request if request && (arity > 1 || arity < 0) host = host.call(*args) elsif host =~ /%d/ host = host % (Zlib.crc32(source) % 4) end if host =~ URI_REGEXP host else protocol = options[:protocol] || (request ? :request : :relative) case protocol when :relative "//#{host}" when :request "#{request.protocol}#{host}" else "#{protocol}://#{host}" end end end
compute_asset_path(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 61 def compute_asset_path(source, options = {}) dir = ASSET_PUBLIC_DIRECTORIES[options[:type]] || "" File.join(dir, source) end
font_path(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 127 def font_path(source, options = {}) path_to_asset(source, {:type => :font}.merge(options)) end
Also aliased as: path_to_font
image_path(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 112 def image_path(source, options = {}) path_to_asset(source, {:type => :image}.merge(options)) end
Also aliased as: path_to_image
javascript_path(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 102 def javascript_path(source, options = {}) path_to_asset(source, {:type => :javascript}.merge(options)) end
Also aliased as: path_to_javascript
stylesheet_path(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 107 def stylesheet_path(source, options = {}) path_to_asset(source, {:type => :stylesheet}.merge(options)) end
Also aliased as: path_to_stylesheet
video_path(source, options = {})
click to toggle source
# File lib/sprockets/rails/legacy_asset_url_helper.rb, line 117 def video_path(source, options = {}) path_to_asset(source, {:type => :video}.merge(options)) end
Also aliased as: path_to_video