Class: Squeezy
- Inherits:
-
Object
show all
- Includes:
- Java
- Defined in:
- lib/squeezy.rb,
lib/squeezy/service.rb,
lib/squeezy/version.rb,
lib/squeezy/reporter.rb,
lib/squeezy/compressor.rb
Defined Under Namespace
Classes: Reporter, Service
Constant Summary
collapse
- VERSION =
'0.0.1'
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.run_service ⇒ Object
10
11
12
|
# File 'lib/squeezy.rb', line 10
def self.run_service
Squeezy::Service.run!
end
|
Instance Method Details
#compress_css(contents) ⇒ Object
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/squeezy/compressor.rb', line 18
def compress_css(contents)
with_cached_file "/tmp/#{Digest::MD5.hexdigest(contents)}.css" do
CssCompressor.new(java.io.StringReader.new(contents)).compress(result = java.io.StringWriter.new(), -1)
result.to_s
end
rescue Exception => e
$stderr.puts e
$stderr.puts "Compression of CSS failed!"
contents
end
|
#compress_js(contents) ⇒ Object
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/squeezy/compressor.rb', line 29
def compress_js(contents)
with_cached_file "/tmp/#{Digest::MD5.hexdigest(contents)}.js" do
JavaScriptCompressor.new(java.io.StringReader.new(contents), Reporter.new).compress(result = java.io.StringWriter.new(), -1, true, false, false, false)
result.to_s
end
rescue Exception => e
$stderr.puts e
$stderr.puts "Compression of JS failed!"
contents
end
|
#with_cached_file(file) ⇒ Object
8
9
10
11
12
13
14
15
16
|
# File 'lib/squeezy/compressor.rb', line 8
def with_cached_file(file)
if File.exist?(file)
File.read(file)
else
contents = yield
File.open(file, 'w') {|f| f << contents}
contents
end
end
|