Sha256: 831038c3fcd2a239cbc8900e771a848e8587da4cf2a8b7ac5c1dfe08c143f320

Contents?: true

Size: 1.32 KB

Versions: 8

Compression:

Stored size: 1.32 KB

Contents

require 'requirejs/rails/config'

require 'pathname'

module Requirejs
  module Rails
    class Engine < ::Rails::Engine

      initializer "requirejs.tag_included_state" do |app|
        ActiveSupport.on_load(:action_controller) do
          ::ActionController::Base.class_eval do
            attr_accessor :requirejs_included
          end
        end
      end

      initializer "requirejs.config" do |app|
        config = app.config
        config.requirejs = Requirejs::Rails::Config.new(app)
        if config.requirejs.manifest
          path = File.join(config.assets.manifest, "rjs_manifest.yml")
        else
          path = File.join(::Rails.public_path, config.assets.prefix, "rjs_manifest.yml")
        end
        config.requirejs.manifest_path = Pathname.new(path)
        
        config.requirejs.precompile = [/require\.js$/]

        if ::Rails.env == "production"
          config.assets.precompile += config.requirejs.precompile
        end
      end
      
      initializer "requirejs.manifest", :after => "sprockets.environment" do |app|
        config = app.config
        if config.requirejs.manifest_path.exist? && config.assets.digests
          rjs_digests = YAML.load_file(config.requirejs.manifest_path)
          config.assets.digests.merge!(rjs_digests)
        end
      end
      
    end # class Engine
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
requirejs-rails-0.6.1 lib/requirejs/rails/engine.rb
requirejs-rails-0.5.6 lib/requirejs/rails/engine.rb
requirejs-rails-0.5.5 lib/requirejs/rails/engine.rb
requirejs-rails-0.5.4 lib/requirejs/rails/engine.rb
requirejs-rails-0.5.3 lib/requirejs/rails/engine.rb
requirejs-rails-0.5.2 lib/requirejs/rails/engine.rb
requirejs-rails-0.5.1 lib/requirejs/rails/engine.rb
requirejs-rails-0.5.0 lib/requirejs/rails/engine.rb