class Middleman::Extensions::AssetHost

Asset Host module

Public Class Methods

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

  # Backwards compatible API
  app.config.define_setting :asset_host, nil, 'The asset host to use, or false for no asset host, or a Proc to determine asset host'

  app.compass_config do |config|
    if asset_host = extensions[:asset_host].host
      if asset_host.is_a?(Proc)
        config.asset_host(&asset_host)
      else
        config.asset_host do |_|
          asset_host
        end
      end
    end
  end if app.respond_to?(:compass_config)
end

Public Instance Methods

asset_url(path, prefix='') click to toggle source

Override default asset url helper to include asset hosts

@param [String] path @param [String] prefix @return [String]

Calls superclass method
# File lib/middleman-more/extensions/asset_host.rb, line 35
def asset_url(path, prefix='')
  controller = extensions[:asset_host]

  original_output = super
  return original_output unless controller.host

  asset_prefix = if controller.host.is_a?(Proc)
    controller.host.call(original_output)
  elsif controller.host.is_a?(String)
    controller.host
  end

  File.join(asset_prefix, original_output)
end
host() click to toggle source
# File lib/middleman-more/extensions/asset_host.rb, line 25
def host
  app.config[:asset_host] || options[:host]
end