Skip to content

Commit

Permalink
Added a rake task to compile js for non Asset Pipeline users
Browse files Browse the repository at this point in the history
  • Loading branch information
gregbell committed May 3, 2012
1 parent 1538d08 commit 916ecdd
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 6 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ group :development, :test do
gem 'haml', '~> 3.1.1', :require => false
gem 'yard'
gem 'rdiscount' # For yard
gem "guard-sprockets"
gem "sprockets"
gem 'rails-i18n' # Gives us default i18n for many languages
end

Expand Down
4 changes: 4 additions & 0 deletions app/assets/javascripts/active_admin/application.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
//= require_tree ./lib/
//= require_tree ./components/
//= require_tree ./pages/
//= require_directory ./
5 changes: 1 addition & 4 deletions app/assets/javascripts/active_admin/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,4 @@
//= require jquery-ui
//= require jquery_ujs

//= require_tree ./lib/
//= require_tree ./components/
//= require_tree ./pages/
//= require_directory ./
//= require active_admin/application
2 changes: 1 addition & 1 deletion lib/generators/active_admin/assets/assets_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def install_assets
template '3.1/active_admin.js', 'app/assets/javascripts/active_admin.js'
template '3.1/active_admin.css.scss', 'app/assets/stylesheets/active_admin.css.scss'
else
template '../../../../../app/assets/javascripts/active_admin/application.js', 'public/javascripts/active_admin.js'
template '3.0/active_admin.js', 'public/javascripts/active_admin.js'
directory '../../../../../app/assets/images/active_admin', 'public/images/active_admin'
generate "jquery:install --ui" if options.jquery?
install_bourbon if options.bourbon?
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 32 additions & 0 deletions tasks/js.rake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
namespace :js do

desc "Compile the JS for Rails apps without Asset Pipeline"
task :compile do
require 'sprockets'
require 'uglifier'
require 'fileutils'

root_dir = File.expand_path(File.join("..", ".."), __FILE__)
js_dir = File.join(root_dir, "app", "assets", "javascripts", "active_admin")
generated_file = File.join(root_dir, 'lib', 'generators', 'active_admin', 'assets', 'templates', '3.0', 'active_admin.js')

# The base.js file requires jquery. We don't need jquery to
# compile the assets, however Sprockets will try to look it up
# and raise an exception. Insteaad, we move the file out of the directory
# then put it back after we compile.
base_js = File.join(js_dir, "base.js")
tmp_base_js = File.join(root_dir, "base.js")
FileUtils.mv base_js, tmp_base_js

env = Sprockets::Environment.new
env.js_compressor = ::Uglifier.new
env.append_path js_dir

File.open generated_file, "w+" do |f|
f << env["application"]
end

FileUtils.mv tmp_base_js, base_js
end

end

0 comments on commit 916ecdd

Please sign in to comment.