Auto move files to a sub folder with Ruby
The constructor, initialize should only prepare the state of the object but not execute methods like move_file. You could call FileAction.new(filename, event).move_file instead.

You use a lot of instance variables that could replaced by local variables and method arguments. It follows the principle of minimum scope. That makes your code more functional. As result the methods become independ of the context of the class.

The class is not necessary since you have no real state to encapsulate. 

FileWatcher.new(@doc_files).watch do |filename, event|
  move_file(filename) if event == :new
end


Hope it helps.