class Phototrimmer
Public Class Methods
new(max_size, src_path, dest_path=nil)
click to toggle source
# File lib/phototrim.rb, line 10 def initialize max_size, src_path, dest_path=nil @size = max_size @src = src_path @dest = dest_path.nil? ? @src : dest_path end
Public Instance Methods
ignored_type(object)
click to toggle source
# File lib/phototrim.rb, line 48 def ignored_type object %w[. ..].include? object or %w[.svg].include? File.extname object end
main()
click to toggle source
# File lib/phototrim.rb, line 16 def main system("mkdir -p #{@dest}") File.directory? @src ? wrangle : trim end
trim()
click to toggle source
# File lib/phototrim.rb, line 37 def trim puts "Processing file #{@src}" victim = ImageList.new @src if victim.columns > @size puts "#{@src} is beyond #{@size}px wide, scaling down.." victim = victim.scale @size.to_f/victim.columns puts "Scaled down #{@src}" victim.write @dest end end
wrangle()
click to toggle source
# File lib/phototrim.rb, line 21 def wrangle Dir.foreach @src do |object| next if ignored_type object subtrimmer = Phototrimmer.new @size, File.join(@src, object), File.join(@dest, object) if File.directory? File.join @src, object puts "Processing images within #{object}..." system "mkdir -p #{ File.join @dest, object }" subtrimmer.wrangle else subtrimmer.trim end end end