railtie.rb 1.6 KB
Newer Older
1
require "action_view"
2 3 4
require "rails"

module ActionView
5
  # = Action View Railtie
6
  class Railtie < Rails::Railtie
7
    config.action_view = ActiveSupport::OrderedOptions.new
8
    config.action_view.stylesheet_expansions = {}
9
    config.action_view.javascript_expansions = { :defaults => %w(jquery jquery_ujs) }
10

11 12 13 14
    initializer "action_view.logger" do
      ActiveSupport.on_load(:action_view) { self.logger ||= Rails.logger }
    end

15
    initializer "action_view.cache_asset_ids" do |app|
16
      unless app.config.cache_classes
17
        ActiveSupport.on_load(:action_view) do
18
          ActionView::Helpers::AssetTagHelper::AssetPaths.cache_asset_ids = false
19
        end
20 21
      end
    end
22

23 24
    initializer "action_view.javascript_expansions" do |app|
      ActiveSupport.on_load(:action_view) do
25 26 27 28 29 30 31
        ActionView::Helpers::AssetTagHelper.register_javascript_expansion(
          app.config.action_view.delete(:javascript_expansions)
        )

        ActionView::Helpers::AssetTagHelper.register_stylesheet_expansion(
          app.config.action_view.delete(:stylesheet_expansions)
        )
32 33 34
      end
    end

35
    initializer "action_view.set_configs" do |app|
36
      ActiveSupport.on_load(:action_view) do
37
        self.default_method_for_update = app.config.default_method_for_update
38 39 40 41 42
        app.config.action_view.each do |k,v|
          send "#{k}=", v
        end
      end
    end
43 44 45 46 47 48 49 50

    initializer "action_view.caching" do |app|
      ActiveSupport.on_load(:action_view) do
        if app.config.action_view.cache_template_loading.nil?
          ActionView::Resolver.caching = app.config.cache_classes
        end
      end
    end
51
  end
52
end