class Paperclip::PaperclipOptimizer
Public Class Methods
default_options()
click to toggle source
# File lib/paperclip-optimizer/processor.rb, line 6 def self.default_options @default_options ||= ::PaperclipOptimizer::DEFAULT_OPTIONS end
default_options=(new_options)
click to toggle source
# File lib/paperclip-optimizer/processor.rb, line 10 def self.default_options=(new_options) @default_options = new_options end
Public Instance Methods
make()
click to toggle source
# File lib/paperclip-optimizer/processor.rb, line 14 def make src_path = File.expand_path(@file.path) if optimizer_options[:verbose] Paperclip.logger.info "optimizing #{src_path} with settings: #{optimizer_options.inspect}" old_stderr = $stderr $stderr = ::PaperclipOptimizer::StdErrCapture.new(Paperclip.logger) end begin image_optim = ImageOptim.new(optimizer_options) compressed_file_path = image_optim.optimize_image(src_path) ensure $stderr = old_stderr if optimizer_options[:verbose] end if compressed_file_path && File.exist?(compressed_file_path) return File.open(compressed_file_path) else return @file end end
Protected Instance Methods
optimizer_options()
click to toggle source
# File lib/paperclip-optimizer/processor.rb, line 40 def optimizer_options optimizer_global_options .deep_merge(optimizer_instance_options) .deep_merge(optimizer_style_options) .delete_if { |_key, value| value.nil? } end
Private Instance Methods
optimizer_global_options()
click to toggle source
# File lib/paperclip-optimizer/processor.rb, line 49 def optimizer_global_options self.class.default_options end
optimizer_instance_options()
click to toggle source
# File lib/paperclip-optimizer/processor.rb, line 53 def optimizer_instance_options instance_options = @attachment.options.fetch(:paperclip_optimizer, {}) instance_options.respond_to?(:call) ? instance_options.call(@attachment) : instance_options end
optimizer_style_options()
click to toggle source
# File lib/paperclip-optimizer/processor.rb, line 58 def optimizer_style_options @options.fetch(:paperclip_optimizer, {}) end