Sha256: 7d02b962ffa8179623906768998ce87875a1d9a27630237ca52baa5395a1d10d

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 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(RequirejsOptimizer.base_folder, '**', '*.{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

1 entries across 1 versions & 1 rubygems

Version Path
requirejs_optimizer-0.4.2 lib/requirejs_optimizer/railtie.rb