Ruby on Rails. Минификация Javascript ответов

Небольшой сниппет, позволяющий ускорить работу фронтенда в Ruby on Rails приложении за счет минификации Javascript ответов.

require 'uglifier'
 
class ApplicationController
  after_filter :compress_js_response
   
  private
  def compress_js_response
    if Rails.env.production? && self.status == 200 && response.content_type.include?('javascript')
      response.body =  Uglifier.compile(response.body, { output: { comments: :none } })
    end
  end
end 

В примере используется uglifier, но вместо него может быть применен любой другой минификатор. JS ответы не минифицируются в режиме разработки для удобства чтения и дебаггинга. Сниппет особенно актуален когда размер Javascript ответов достаточно большой, например содержит куски HTML.