# TODO add neuter for production # https://github.com/wycats/rake-pipeline-web-filters/blob/master/lib/rake-pipeline-web-filters/neuter_filter.rb # http://blog.nulayer.com/post/23294069876/building-simple-javascript-libraries-with-rake-pipeline?15bb0420 require 'rake-pipeline-web-filters' output 'public/javascripts' input 'assets/javascripts' do match 'vendor/**/*.js' do files = %w( vendor/minispade.js vendor/jquery.min.js vendor/handlebars.js vendor/ember.js vendor/ember-data.js vendor/ansiparse.js vendor/i18n.js vendor/jquery.timeago.js ) concat files, 'vendor.js' end match '**/*.coffee' do coffee_script end match '**/*.hbs' do handlebars( :key_name_proc => proc { |input| input.path.sub(%r(^app/templates/), '').sub(/\.hbs$/, '') } ) concat 'app/templates.js' end match 'mocks.js' do concat 'mocks.js' end match '{app,config,lib}/**/*.js' do minispade( string: true, rewrite_requires: true, module_id_generator: proc { |input| input.path.sub(%r(^(app|config|lib)/), '').sub(/\.js$/, '') } ) concat 'application.js' end end output 'public/stylesheets' input 'assets/stylesheets' do match '**/*.scss' do filter(Rake::Pipeline::Web::Filters::TiltFilter) do |input| input.sub /\.scss$/, 'css' end end match '**/*.css' do copy end end output 'public' input 'assets', 'index.html.erb' do filter(Rake::Pipeline::Web::Filters::TiltFilter) do |input| input.sub /\.erb$/, '' end end