class ImageOptimizer::ImageOptimizerBase

Attributes

options[R]
path[R]

Public Class Methods

new(path, options = {}) click to toggle source
# File lib/image_optimizer/image_optimizer_base.rb, line 6
def initialize(path, options = {})
  @path = path
  @options = options
end

Public Instance Methods

optimize() click to toggle source
# File lib/image_optimizer/image_optimizer_base.rb, line 11
def optimize
  return unless correct_format?

  if optimizer_bin?
    perform_optimizations
  else
    warn "Attempting to optimize a #{type} without #{bin_name} installed. Skipping..."
  end
end

Private Instance Methods

correct_format?() click to toggle source
# File lib/image_optimizer/image_optimizer_base.rb, line 23
def correct_format?
  extensions.include?(options[:identified_format] || extension(path))
end
extension(path) click to toggle source
# File lib/image_optimizer/image_optimizer_base.rb, line 27
def extension(path)
  path.split('.').last.downcase
end
optimizer_bin() click to toggle source
# File lib/image_optimizer/image_optimizer_base.rb, line 39
def optimizer_bin
  ENV["#{bin_name.upcase}_BIN"] || which(bin_name)
end
optimizer_bin?() click to toggle source
# File lib/image_optimizer/image_optimizer_base.rb, line 35
def optimizer_bin?
  !!optimizer_bin
end
perform_optimizations() click to toggle source
# File lib/image_optimizer/image_optimizer_base.rb, line 31
def perform_optimizations
  system(optimizer_bin, *command_options)
end
quiet?() click to toggle source
# File lib/image_optimizer/image_optimizer_base.rb, line 43
def quiet?
  options[:quiet] || ImageOptimizer.quiet
end