## Ruby wrapper and Rails asset pipeline integration for [optimize-js](https://github.com/nolanlawson/optimize-js). [![Build Status](https://travis-ci.org/yivo/optimize-js.svg?branch=master)](https://travis-ci.org/yivo/optimize-js) ## About This gem is ruby wrapper for [optimize-js](https://github.com/nolanlawson/optimize-js). It allows you to invoke optimize-js from ruby. For Rails users this gem automatically integrates optimize-js into sprockets. ## Installing gem **If you are using bundler.**
Add to your Gemfile: ```ruby gem 'optimize-js', '~> 1.0' ``` **If you are not using bundler.**
Run in your terminal: ``` gem install optimize-js ``` Require gem in your ruby sources: ```ruby require 'optimize-js' ``` ## Using gem API is quite simple. ```ruby # OptimizeJS.perform(javascript_source, optimize_js_options) OptimizeJS.perform('!function() {}()') # => !(function() {})() ``` ## Using in Rails There is no need to do anything.
Gem will automatically register `OptimizeJS::SprocketsProcessor` using `register_bundle_processor` so all your JavaScript assets will be optimized. ## Updating optimize-js to the latest version 1. Install gem dependencies: `bundle install` 2. Run: `bundle exec rake optimize_js` This rake task will do several things: 1. Clone latest git tag 2. Install npm dependencies 3. Install browserify 4. Install uglifyjs 5. Make web-version 6. Minify web-version 7. Write version to optimize-js/version.rb 8. Cleanup ## Running tests 1. Install gem dependencies: `bundle install` 2. Run tests: `bundle exec rake test` ## Things to work on 1. Write integration tests. 2. Test on different versions of sprockets. 3. Test on different versions of rails. 4. Test on different versions of ruby. 5. Sprockets without Rails. 6. Typos in README. ## Licence [JavaScript Library Licence](https://github.com/yivo/optimize-js/blob/master/OPTIMIZE-JS-LICENCE)
[Ruby Gem Licence](https://github.com/yivo/optimize-js/blob/master/LICENCE)