コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BaseOptimizer" /> class.
        /// </summary>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="environment">The environment.</param>
        /// <param name="log">The log.</param>
        /// <param name="optimizerFactory">The factory to use when selecting the optimizer.</param>
        public BulkImageOptimizer(IFileSystem fileSystem, ICakeEnvironment environment, ICakeLog log, IImageOptimizerFactory optimizerFactory)
        {
            if (fileSystem == null)
            {
                throw new ArgumentNullException("fileSystem");
            }
            if (environment == null)
            {
                throw new ArgumentNullException("environment");
            }
            if (log == null)
            {
                throw new ArgumentNullException("log");
            }
            if (optimizerFactory == null)
            {
                throw new ArgumentNullException("optimizerFactory");
            }

            _FileSystem       = fileSystem;
            _Environment      = environment;
            _Log              = log;
            _OptimizerFactory = optimizerFactory;

            this.Clear();
        }
コード例 #2
0
        public static IImageOptimizer FromFileExtension(this IImageOptimizerFactory imageOptimizerFactory, string filename)
        {
            string ext = PathUtilities.GetFileExtension(filename);

            if (string.IsNullOrWhiteSpace(ext))
            {
                return(null);
            }

            return(imageOptimizerFactory.FromFileFormat(FileFormatFactory.Default.FromFileExtension(ext)));
        }
コード例 #3
0
        private static IBulkImageOptimizer CreateBulkImageOptimizer(this ICakeContext context)
        {
            IImageOptimizerFactory factory = CreateImageOptimizerFactory(context.FileSystem, context.Environment, context.Log);

            return(new BulkImageOptimizer(context.FileSystem, context.Environment, context.Log, factory));
        }