class TinyMCE::Rails::Engine

def self.asset_host

def self.asset_host
  host = Rails.application.config.action_controller.asset_host
  if host.respond_to?(:call)
    # Callable asset hosts cannot be supported during
    # precompilation as there is no request object
    nil
  elsif host =~ /%d/
    # Load all TinyMCE assets from the first asset host
    normalize_host(host % 0)
  else
    normalize_host(host)
  end
end

def self.base

def self.base
  config.tinymce.base || default_base
end

def self.config_path

def self.config_path
  Rails.application.config.tinymce.config_path || ::Rails.root.join("config/tinymce.yml")
end

def self.default_base

def self.default_base
  File.join(asset_host || "", relative_url_root || "",
            Rails.application.config.assets.prefix || "/",
            "tinymce")
end

def self.normalize_host(host)

def self.normalize_host(host)
  if host =~ /^https?:\/\// || host =~ /^\/\//
    host
  else
    # Use a protocol-relative URL if not otherwise specified
    "//#{host}"
  end
end

def self.relative_url_root

def self.relative_url_root
  config = Rails.application.config
  if config.respond_to?(:relative_url_root)
    config.relative_url_root
  else
    # Fallback for Rails 3.1
    config.action_controller.relative_url_root
  end
end