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