Overview

Namespaces

  • Deliverist
    • Builder
      • Commands

Classes

  • Deliverist\Builder\Builder
  • Deliverist\Builder\Commands\ApacheImports
  • Deliverist\Builder\Commands\BowerInstall
  • Deliverist\Builder\Commands\ComposerInstall
  • Deliverist\Builder\Commands\Copy
  • Deliverist\Builder\Commands\CreateDirectory
  • Deliverist\Builder\Commands\GoogleAnalytics
  • Deliverist\Builder\Commands\GoogleClosureCompiler
  • Deliverist\Builder\Commands\LessCompile
  • Deliverist\Builder\Commands\MinifyContent
  • Deliverist\Builder\Commands\PingUrl
  • Deliverist\Builder\Commands\Remove
  • Deliverist\Builder\Commands\Rename
  • Deliverist\Builder\Commands\ReplaceContent

Interfaces

  • Deliverist\Builder\ICommand

Exceptions

  • Deliverist\Builder\BuilderException
  • Deliverist\Builder\CommandException
  • Deliverist\Builder\Commands\RenameException
  • Deliverist\Builder\Exception
  • Deliverist\Builder\FileSystemException
  • Deliverist\Builder\InvalidArgumentException
  • Deliverist\Builder\InvalidStateException
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 
<?php

    namespace Deliverist\Builder\Commands;

    use Deliverist\Builder\Builder;
    use Deliverist\Builder\FileSystemException;
    use Deliverist\Builder\InvalidArgumentException;
    use Deliverist\Builder\ICommand;
    use Nette\Utils\FileSystem;


    class MinifyContent implements ICommand
    {
        /**
         * @param  Builder
         * @param  string|string[]
         */
        public function run(Builder $builder, $files = NULL)
        {
            if (!isset($files)) {
                throw new InvalidArgumentException("Missing parameter 'files'.");
            }

            if (!is_array($files)) {
                $files = array($files);
            }

            foreach ($files as $file) {
                $builder->log("Minify content of '$file'.");
                $path = $builder->getPath($file);

                if (!is_file($path)) {
                    throw new FileSystemException("File '$file' not found.");
                }

                $lines = file($path);
                $lines = array_map('trim', $lines);
                $lines = array_filter($lines, function ($line) { // remove empty lines
                    return $line !== '';
                });
                FileSystem::write($path, implode("\n", $lines) . "\n");
            }
        }
    }
deliverist/builder master API documentation API documentation generated by ApiGen