def add_file(path)
        file = File.new(path)
        response = CrateAPI::Base.call("#{CrateAPI::Base::ITEMS_URL}/#{CrateAPI::Items::ITEM_ACTIONS[:upload]}", :post, {:body => {:file => file, :crate_id => @id}})
        raise CrateFileAlreadyExistsError, response["message"] unless response["status"] != "failure"
      end
def add_file(path)
        file = File.new(path)
        response = CrateAPI::Base.call("#{CrateAPI::Base::ITEMS_URL}/#{CrateAPI::Items::ITEM_ACTIONS[:upload]}", :post, {:body => {:file => file, :crate_id => @id}})
        raise CrateFileAlreadyExistsError, response["message"] unless response["status"] != "failure"
      end
Add a file to the given crate object.

 @param [String] This is the path to the file that you wish to upload.
 @return [CrateFileAlreadyExistsError, nil] if there is an issue uploading the file to the crate, an error will be raised with the message explaining why.