Sha256: a32b24c7226ca263b22301e37728872eb6475de57ddaedc882fbefab41b33698

Contents?: true

Size: 987 Bytes

Versions: 3

Compression:

Stored size: 987 Bytes

Contents

require 'yui/compressor'

module Cjoiner
  module Engines
    # compress content
    class Compressor < Cjoiner::Engines::Engine
      def initialize(opts)
        # use the standalone java jar file
        if opts[:yui]
          temp = temp_file "cjoiner.#{opts[:type]}", opts[:content]
          munge = !opts[:munge] ? "--nomunge" : ""
          @engine = `java -jar #{opts[:yui]} #{munge} --charset #{opts[:charset]} --type #{opts[:type]} #{temp.path}` if file_exists opts[:yui]
          delete_file temp
        else
          case opts[:type]
            when :css
              compressor = ::YUI::CssCompressor.new(:charset => opts[:charset])
            when :js
              compressor = ::YUI::JavaScriptCompressor.new(:munge => opts[:munge], :charset => opts[:charset])
          end
          if compressor
            @engine = compressor.compress(opts[:content])
          else
            @engine = opts[:content]
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cjoiner-1.6.1 lib/cjoiner/engines/compressor.rb
cjoiner-1.6.0 lib/cjoiner/engines/compressor.rb
cjoiner-1.5.2 lib/cjoiner/engines/compressor.rb