toy/image_optim

View on GitHub
bin/image_optim

Summary

Maintainability
Test Coverage
#!/usr/bin/env ruby
# encoding: UTF-8
# frozen_string_literal: true

require 'image_optim/runner'
require 'image_optim/runner/option_parser'

args = ARGV.dup

options = ImageOptim::Runner::OptionParser.parse!(args)

begin
  if options[:verbose]
    $stderr << "#{ImageOptim.full_version}\n"
  end

  only_info = options.delete(:only_info)
  runner = ImageOptim::Runner.new(options)
  unless only_info
    abort 'specify paths to optimize' if args.empty?
    abort unless runner.run!(args)
  end
rescue => e
  if options[:verbose]
    abort "#{e}\n#{e.backtrace.join("\n")}"
  else
    abort e.to_s
  end
end