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 14
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 20
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 35
def size_percent(size_a, size_b)
  if size_a == size_b
    "------ #{Space::EMPTY_SPACE}"
  else
    percent = 100 - 100.0 * size_b / size_a
    space = Space.space(size_a - size_b)
    format('%5.2f%% %s', percent, space)
  end
end