Module: Juicer::Minifyer::JavaBase
- Includes:
- Binary
- Included in:
- ClosureCompiler, YuiCompressor
- Defined in:
- lib/juicer/minifyer/java_base.rb
Overview
Provides an interface to Java based compressor libraries using Juicer::Shell::Binary.
The compressor is invoked using the java binary and the compressor jar file.
Providing the Jar file can be done in several ways. The following directories are searched (in preferred order)
1. The directory specified by the option :bin_path
2. The directory specified by the environment variable, if set
3. Current working directory
Name of environment variable is decided by including classes self.env_name constant.
For more information on how the Jar is located, see Juicer::Minify::JavaMinifyer.locate_jar
- Author
-
Christian Johansen ([email protected])
- Copyright
-
Copyright © 2008-2009 Christian Johansen
- License
-
MIT
Instance Method Summary collapse
-
#command ⇒ Object
Constructs the command to use.
- #initialize(options = {}) ⇒ Object
- #jar_args ⇒ Object
-
#set_opts(args) ⇒ Object
Overrides set_opts called from binary class This avoids sending illegal options to the java binary.
Methods included from Binary
#execute, #get_opt, #locate, #method_missing, #options, #path, #set_opt
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Juicer::Binary
Instance Method Details
#command ⇒ Object
Constructs the command to use
60 61 62 63 64 65 66 67 68 |
# File 'lib/juicer/minifyer/java_base.rb', line 60 def command java_opts = [] if ENV['JAVA_OPTS'].nil? java_opts = [] else java_opts = ENV['JAVA_OPTS'].split(" ") end @command = ([@binary] + java_opts).flatten end |
#initialize(options = {}) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/juicer/minifyer/java_base.rb', line 34 def initialize( = {}) bin = .delete(:java) || "java" bin_path = .delete(:bin_path) || nil @jar = nil @jar_args = nil super(bin, ) if !bin_path.nil? if Array === bin_path bin_path.each { |p| path << p } else path << bin_path end end end |
#jar_args ⇒ Object
70 71 72 |
# File 'lib/juicer/minifyer/java_base.rb', line 70 def jar_args @jar_args end |
#set_opts(args) ⇒ Object
Overrides set_opts called from binary class This avoids sending illegal options to the java binary
54 55 56 |
# File 'lib/juicer/minifyer/java_base.rb', line 54 def set_opts(args) @jar_args = " #{args}" end |