Sha256: 57b3cd8ccb9967f808d941961accc028c1fcfb76b80b9efe49adb6cd17c1ee25

Contents?: true

Size: 506 Bytes

Versions: 28

Compression:

Stored size: 506 Bytes

Contents

module Sinatra::AssetPack
  class ClosureEngine < Engine
    def js(str, options={})
      require 'net/http'
      require 'uri'

      response = Net::HTTP.post_form(URI.parse('http://closure-compiler.appspot.com/compile'), {
        'js_code' => str,
        'compilation_level' => options[:level] || "ADVANCED_OPTIMIZATIONS",
        'output_format' => 'text',
        'output_info' => 'compiled_code'
      })

      response.body
    end
  end

  Compressor.register :js, :closure, ClosureEngine
end

Version data entries

28 entries across 28 versions & 3 rubygems

Version Path
sinatra-assetpack-0.1.2 lib/sinatra/assetpack/engines/closure.rb
sinatra-assetpack-0.1.1 lib/sinatra/assetpack/engines/closure.rb
sinatra-assetpack-0.1.0 lib/sinatra/assetpack/engines/closure.rb
sinatra-assetpack-flexible-compression-0.0.1 lib/sinatra/assetpack/engines/closure.rb
sundawg-sinatra-assetpack-fork-0.0.12.pre1 lib/sinatra/assetpack/engines/closure.rb
sinatra-assetpack-0.0.12.pre1 lib/sinatra/assetpack/engines/closure.rb
sinatra-assetpack-0.0.11 lib/sinatra/assetpack/engines/closure.rb
sinatra-assetpack-0.0.10 lib/sinatra/assetpack/engines/closure.rb