class GifOptimizer::Optimizer
Attributes
options[R]
path[R]
Public Class Methods
new(path, options = {})
click to toggle source
# File lib/gif_optimizer/optimizer.rb, line 5 def initialize(path, options = {}) @path = path @options = options end
Public Instance Methods
optimize()
click to toggle source
# File lib/gif_optimizer/optimizer.rb, line 10 def optimize return unless gif_format? if optimizer_present? optimize_gif else warn 'Attempting to optimize a gif without gifsicle installed. Skipping...' end end
Private Instance Methods
command_options()
click to toggle source
# File lib/gif_optimizer/optimizer.rb, line 34 def command_options flags = ['-b', '-O3'] flags << path end
extension(path)
click to toggle source
# File lib/gif_optimizer/optimizer.rb, line 26 def extension(path) path.split('.').last.downcase end
gif_format?()
click to toggle source
# File lib/gif_optimizer/optimizer.rb, line 22 def gif_format? ['gif'].include? extension(path) end
gif_optimizer_bin()
click to toggle source
# File lib/gif_optimizer/optimizer.rb, line 43 def gif_optimizer_bin @gif_optimizer_bin ||= ENV['GIFSICLE_BIN'] || `which gifsicle`.strip end
optimize_gif()
click to toggle source
# File lib/gif_optimizer/optimizer.rb, line 30 def optimize_gif system(gif_optimizer_bin, *command_options) end
optimizer_present?()
click to toggle source
# File lib/gif_optimizer/optimizer.rb, line 39 def optimizer_present? !gif_optimizer_bin.nil? && !gif_optimizer_bin.empty? end