Class: Smurf::Javascript
- Inherits:
-
Object
- Object
- Smurf::Javascript
- Defined in:
- lib/smurf/javascript.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(content) ⇒ Javascript
constructor
A new instance of Javascript.
- #minified ⇒ Object
- #minify_with_closure_compiler(content) ⇒ Object
Constructor Details
#initialize(content) ⇒ Javascript
Returns a new instance of Javascript.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/smurf/javascript.rb', line 44 def initialize(content) @content = nil java_exists = %x[which java].present? if java_exists @content = minify_with_closure_compiler(content) Rails.logger.info "Closure Compiler failed" if @content.blank? end if @content.blank? Rails.logger.info "Closure Compiler not found" unless java_exists @content = JSMin.minify(content) end @content end |
Class Method Details
.minifies?(paths) ⇒ Boolean
42 |
# File 'lib/smurf/javascript.rb', line 42 def self.minifies?(paths) !paths.grep(%r[\.js(\?\d+)?$]).empty?; end |
Instance Method Details
#minified ⇒ Object
61 |
# File 'lib/smurf/javascript.rb', line 61 def minified; @content end |
#minify_with_closure_compiler(content) ⇒ Object
63 64 65 66 67 68 69 70 71 |
# File 'lib/smurf/javascript.rb', line 63 def minify_with_closure_compiler(content) jar_file = File.join(File.dirname(__FILE__), '..', 'closure-compiler', 'compiler.jar') IO.popen("java -jar #{jar_file}", "r+") do |p| p.write content p.close_write content = p.read end content if $? == 0 end |