Class: Overcommit::GitHook::ImageOptimization
- Inherits:
-
HookSpecificCheck
- Object
- HookSpecificCheck
- Overcommit::GitHook::ImageOptimization
- Includes:
- HookRegistry
- Defined in:
- lib/overcommit/plugins/pre_commit/image_optimization.rb
Defined Under Namespace
Classes: ImageSet
Instance Method Summary collapse
Methods included from HookRegistry
Methods inherited from HookSpecificCheck
file_type, friendly_name, #initialize, #name, required!, #skip?, skippable?, #staged, stealth!, #stealth?
Constructor Details
This class inherits a constructor from Overcommit::GitHook::HookSpecificCheck
Instance Method Details
#run_check ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/overcommit/plugins/pre_commit/image_optimization.rb', line 6 def run_check begin require 'image_optim' rescue LoadError return :warn, "'image_optim' gem not installed -- run `gem install image_optim`" end optimized_images = begin ImageSet.new(staged.map(&:original_path)). optimize_with(ImageOptim.new(:pngout => false)) rescue ImageOptim::BinNotFoundError => e return :stop, "#{e.message}. The image_optim gem is dependendent on this binary. " << "See https://github.com/toy/image_optim for more info." end if optimized_images.any? return :bad, "Optimized #{optimized_images.map(&:to_s).inspect}. " << " Please add them to your commit." else return :good end end |