class Middleman::Extensions::AssetHost

Public Class Methods

new(app, options_hash={}, &block) click to toggle source
Calls superclass method Middleman::Extension::new
# File lib/middleman-core/extensions/asset_host.rb, line 10
def initialize(app, options_hash={}, &block)
  super

  app.rewrite_inline_urls id: :asset_host,
                          url_extensions: options.exts || app.config[:asset_extensions],
                          source_extensions: options.sources,
                          ignore: options.ignore,
                          rewrite_ignore: options.rewrite_ignore,
                          proc: method(:rewrite_url)
end

Public Instance Methods

rewrite_url(asset_path, dirpath, _request_path) click to toggle source
# File lib/middleman-core/extensions/asset_host.rb, line 22
def rewrite_url(asset_path, dirpath, _request_path)
  uri = ::Middleman::Util.parse_uri(asset_path)
  relative_path = uri.path[0..0] != '/'

  full_asset_path = if relative_path
    dirpath.join(asset_path).to_s
  else
    asset_path
  end

  asset_prefix = if options[:host].is_a?(Proc)
    options[:host].call(full_asset_path)
  elsif options[:host].is_a?(String)
    options[:host]
  end

  File.join(asset_prefix, full_asset_path)
end