require 'deliver' require 'fastimage' module Frameit class Runner def initialize converter = FrameConverter.new if converter.frames_exist? # Just make sure, the PSD files are converted to PNG converter.convert_frames else # First run converter.run end end def run(path, color = Color::BLACK) screenshots = Dir.glob("#{path}/**/*.{png,PNG}").uniq # uniq because thanks to {png,PNG} there are duplicates if screenshots.count > 0 screenshots.each do |full_path| next if full_path.include? "_framed.png" next if full_path.include? ".itmsp/" # a package file, we don't want to modify that next if full_path.include? "device_frames/" # these are the device frames the user is using next if full_path.downcase.include? "watch" # we don't care about watches right now begin screenshot = Screenshot.new(full_path, color) screenshot.frame! rescue => ex UI.error ex.to_s UI.error "Backtrace:\n\t#{ex.backtrace.join("\n\t")}" if $verbose end end else UI.error "Could not find screenshots" end end end end