# 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 '{app,config,lib}/**/*.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 # DOH. how to simplify this. input 'assets/javascripts/spec' do match 'vendor/*.js' do files = %w( vendor/jasmine.js vendor/jasmine-html.js vendor/jasmine-runner.js vendor/sinon.js ) concat files, 'specs/vendor.js' end match '**/*.coffee' do coffee_script concat 'specs/specs.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