lib/crush/yui.rb in crush-0.2.0 vs lib/crush/yui.rb in crush-0.3.0

- old
+ new

@@ -1,47 +1,55 @@ +require "crush/engine" + module Crush module YUI + # Engine implementation the YUI JavaScript + # compressor. See: + # + # https://rubygems.org/gems/yui-compressor class JavaScriptCompressor < Crush::Engine - def self.engine_name - "yui_js" - end + self.default_mime_type = "application/javascript" def self.engine_initialized? - !!(defined? ::YUI) && !!(defined? ::YUI::JavaScriptCompressor) + !!(defined? ::YUI && defined? ::YUI::JavaScriptCompressor) end def initialize_engine require_template_library "yui/compressor" end def prepare @engine = ::YUI::JavaScriptCompressor.new(options) + @output = nil end - def evaluate - @engine.compress(data) + def evaluate(scope, locals, &block) + @output ||= @engine.compress(data) end end + # Engine implementation the YUI CSS + # compressor. See: + # + # https://rubygems.org/gems/yui-compressor class CssCompressor < Crush::Engine - def self.engine_name - "yui_css" - end + self.default_mime_type = "text/css" def self.engine_initialized? - !!(defined? ::YUI) && !!(defined? ::YUI::CssCompressor) + !!(defined? ::YUI && defined? ::YUI::CssCompressor) end def initialize_engine require_template_library "yui/compressor" end def prepare @engine = ::YUI::CssCompressor.new(options) + @output = nil end - def evaluate - @engine.compress(data) + def evaluate(scope, locals, &block) + @output ||= @engine.compress(data) end end end end