Sha256: 937a85dbc8a14b8a4cc2d6bf6a88db2d7d70cc92a34204a7aa8f06b5578cd136

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

require 'pathname'

# This will fail when initializing assets, but we don't need
# generators for asset initialization anyway. Let it fail
# silently
#
begin; require "generators/install_generator"
rescue NameError => e; end

class RequirejsOptimizerRailtie < Rails::Railtie

  config.before_initialize do
    Rails.application.config.assets.compress = false
    javascripts_root_path = Rails.root.join(*%w(app/assets/javascripts/))
    modules_path          = javascripts_root_path.join("modules", '**', '*.{coffee,js}')

    modules = Dir[modules_path].reject { |f| f =~ /require\.build\.js$/ }.map do |path_with_filename|
      filename = path_with_filename.gsub(/^#{javascripts_root_path}\/?/, '').gsub(/\.coffee$/, '')
      filename = "#{filename}.js" unless File.extname(filename) == ".js"
      filename
    end

    Rails.application.config.assets.precompile += modules
  end

  rake_tasks do
    raketask = RequirejsOptimizer::Rake::Task.new
    raketask.define_tasks
    raketask.extend_default_precompile unless ENV['NO_RJS']
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
requirejs_optimizer-0.3.2 lib/requirejs_optimizer/railtie.rb
requirejs_optimizer-0.2.0 lib/requirejs_optimizer/railtie.rb
requirejs_optimizer-0.1.0 lib/requirejs_optimizer/railtie.rb
requirejs_optimizer-0.0.5 lib/requirejs_optimizer/railtie.rb