Class: Lanes::API::AssetCompressor

Inherits:
Tilt::Template
  • Object
show all
Defined in:
lib/lanes/api/sprockets_compressor.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.engine_initialized?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/lanes/api/sprockets_compressor.rb', line 7

def self.engine_initialized?
    defined?(::YUI)
end

Instance Method Details

#cssObject



24
25
26
# File 'lib/lanes/api/sprockets_compressor.rb', line 24

def css
    @css ||= YUI::CssCompressor.new( :java_opts=>'-client' )
end

#evaluate(context, locals, &block) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/lanes/api/sprockets_compressor.rb', line 27

def evaluate(context, locals, &block)
    case context.content_type
    when 'application/javascript'
        js.compile(data)
    when 'text/css'
        css.compress(data)
    else
        data
    end
end

#initialize_engineObject



11
12
13
14
# File 'lib/lanes/api/sprockets_compressor.rb', line 11

def initialize_engine
    require_template_library 'yui/compressor'
    require_template_library 'closure-compiler'
end

#jsObject



19
20
21
22
23
# File 'lib/lanes/api/sprockets_compressor.rb', line 19

def js
    # n.b. setting 'ADVANCED_OPTIMIZATIONS' doesn't work at this time, it
    # introduces JS errors :(  Haven't debugged further
    @js||=Closure::Compiler.new
end

#prepareObject



16
17
# File 'lib/lanes/api/sprockets_compressor.rb', line 16

def prepare
end