Report a more appropriate error when no recipe is given

File.exist? throws an exception if file_name is nil instead of "". 

Use .to_s to normalise file_name to a string rather than have an explicit nil check.
Maybe L98 should be

   recipe_path = File.expand_path(file_name)

Should this go into this PR, or open another one? :)