public function filterDump(AssetInterface $asset)
{
$options = array($this->jpegtranBin);
if ($this->optimize) {
$options[] = '-optimize';
}
if ($this->copy) {
$options[] = '-copy';
$options[] = $this->copy;
}
if ($this->progressive) {
$options[] = '-progressive';
}
if (null !== $this->restart) {
$options[] = '-restart';
$options[] = $this->restart;
}
$options[] = $input = tempnam(sys_get_temp_dir(), 'assetic_jpegtran');
file_put_contents($input, $asset->getContent());
$proc = new Process(implode(' ', array_map('escapeshellarg', $options)));
$code = $proc->run();
unlink($input);
if (0 < $code) {
throw new \RuntimeException($proc->getErrorOutput());
}
$asset->setContent($proc->getOutput());
}