When you create a Chef custom resource and use the File class, you need to make slight a change in the syntax you use.
In a Chef recipe you can use
if File.exists?("#{FileName}")
to check for the existence of a file. If we use the same line in a Chef custom resource, we get the error message:
NoMethodError: undefined method `exists?’ for Chef::Resource::File:Class
In a Chef custom resource, you need to add :: in front of the File class to make it work
The leading :: tells Chef not to look for the “File” class in the Chef namespace.
if ::File.exists?("#{FileName}")
Thank you! saved me a lot of time with this info