Class: TinyMCE::Rails::Engine

Inherits:
Rails::Engine
  • Object
show all
Defined in:
lib/tinymce/rails/engine.rb

Class Method Summary collapse

Class Method Details

.asset_hostObject



65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/tinymce/rails/engine.rb', line 65

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

.baseObject



44
45
46
# File 'lib/tinymce/rails/engine.rb', line 44

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

.config_pathObject



89
90
91
# File 'lib/tinymce/rails/engine.rb', line 89

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

.default_baseObject



48
49
50
51
52
# File 'lib/tinymce/rails/engine.rb', line 48

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

.normalize_host(host) ⇒ Object



80
81
82
83
84
85
86
87
# File 'lib/tinymce/rails/engine.rb', line 80

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

.relative_url_rootObject



54
55
56
57
58
59
60
61
62
63
# File 'lib/tinymce/rails/engine.rb', line 54

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