class ImageOptim::Runner::Results

Collect and output results of optimization

Public Class Methods

new() click to toggle source
# File lib/image_optim/runner.rb, line 16
def initialize
  @lines = []
  @original_size_sum = 0
  @optimized_size_sum = 0
end

Public Instance Methods

add(original, optimized) click to toggle source
# File lib/image_optim/runner.rb, line 22
def add(original, optimized)
  original_size = optimized ? optimized.original_size : original.size
  optimized_size = optimized ? optimized.size : original.size
  @lines << "#{size_percent(original_size, optimized_size)}  #{original}"
  @original_size_sum += original_size
  @optimized_size_sum += optimized_size
end
print() click to toggle source

Private Instance Methods

size_percent(size_a, size_b) click to toggle source
# File lib/image_optim/runner.rb, line 37
def size_percent(size_a, size_b)
  if size_a == size_b
    "------ #{Space::EMPTY_SPACE}"
  else
    percent = 100 - (size_b * 100.0 / size_a)
    space = Space.space(size_a - size_b)
    format('%5.2f%% %s', percent, space)
  end
end