module OptimizeJS

Constants

GEM_VERSION
JS_VERSION

Public Class Methods

js_function() click to toggle source
# File lib/optimize-js.rb, line 18
def js_function
  'optimizeJS'
end
js_path() click to toggle source
# File lib/optimize-js.rb, line 14
def js_path
  File.expand_path('../optimize-js.web.min.js', File.dirname(__FILE__))
end
patch_sprockets_js_compressor(base) click to toggle source
# File lib/optimize-js/sprockets-patch.rb, line 1
def OptimizeJS.patch_sprockets_js_compressor(base)
  base.instance_exec do
    alias_method :original_js_compressor=, :js_compressor=

    define_method :js_compressor= do |compressor|
      unregister_bundle_processor 'application/javascript', OptimizeJS::SprocketsProcessor
      send(:original_js_compressor=, compressor)
      register_bundle_processor 'application/javascript', OptimizeJS::SprocketsProcessor
    end
  end
end
perform(js, options = {}) click to toggle source
# File lib/optimize-js.rb, line 8
def perform(js, options = {})
  @optimize_js ||= ExecJS.runtime.compile(File.read(js_path))
  raise OptimizeJS::CompileError unless @optimize_js
  @optimize_js.call(js_function, js, options)
end