lib/formula.rb
def file?(method)
      @files ||= {}
      @files[method] ||= begin
        file = @object.send(method) if @object && @object.respond_to?(method)
        file && ::Formula.file.any? { |method| file.respond_to?(method) }
      end
    end
def file?(method)
      @files ||= {}
      @files[method] ||= begin
        file = @object.send(method) if @object && @object.respond_to?(method)
        file && ::Formula.file.any? { |method| file.respond_to?(method) }
      end
    end
Introspection on an association to determine if a method is a file. This
 is determined by the methods ability to respond to file methods.