Scheduled file sorting with Ruby
Your program is over-engineered in a way that makes it hard to decipher.  Because every method is one line long, it's like reading a poem whose lines have been scrambled.  You would be much better off writing a simple function, like this:

require 'fileutils'

def move_screenshots(src_dir, dest_tree)
  re = /^Screen Shot (?&lt;year&gt;\d{4})-(?&lt;month&gt;\d{2})-(?&lt;day&gt;\d{2}) at/
  Dir.foreach(src_dir) do |filename|
    if date = re.match(filename)
      dest_dir = "#{dest_tree}/#{date[:year]}/#{date[:month]}/#{date[:day]}"
      FileUtils.mkdir_p(dest_dir)
      FileUtils.mv("#{src_dir}/#{filename}", dest_dir)
    end
  end
end

move_screenshots("/Users/home/Desktop", "/Users/home/Pictures/Screenshots")


I wouldn't bother with Dir#glob, since it's a bit redundant with the regex.  Note that screenshots aren't necessarily in PNG format: the image format can be configured using defaults write com.apple.screencapture type ….  I also wouldn't bother testing File#exists? before calling FileUtils#mkdir_p, since mkdir_p implicitly performs that check anyway.

Instead of an hourly cron job, consider creating a Folder Action Script that is triggered instantly when a file is added to the folder.