Method: Optipng.optimize
- Defined in:
- lib/optipng.rb
.optimize(paths, options = { }, &block) ⇒ Struct
Performs optimizations above file or set of files.
If block is given, runs optipng
asynchronously. In that case, em-pipe-run
file must be already required.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/optipng.rb', line 61 def self.optimize(paths, = { }, &block) # Command cmd = CommandBuilder::new(self::COMMAND) # Max if [:level].kind_of? Integer cmd.arg(:o, [:level].to_i) end # Files if paths.kind_of? String paths = [paths] end # Runs the command cmd << paths if [:debug] == true STDERR.write cmd.to_s + "\n" end # Blocking if block.nil? output = cmd.execute! # Parses output succeed, errors = __parse_output(output) return self::Result::new(succeed, errors) # Non-blocking else cmd.execute do |output| succeed, errors = __parse_output(output) block.call(self::Result::new(succeed, errors)) end end end |