Класс File имеет метод класса с именем size, который принимает путь и возвращает размер файла, на который указывает путь. Что может быть причиной отсутствия метода экземпляра с именем size в файле.
Вот почему это важно для меня.
Я использую гем httpclient. Я использую это, чтобы загрузить файл на сервер. Например, я бы использовал следующий оператор для загрузки файла на сервер, используя httpclient
file=File.open("foo.txt")
HttpClient.new.put("/upload", file)
Если я не добавляю метод экземпляра размера в класс File, он жалуется, поэтому я пошел дальше и обезьяна исправила его следующим образом:
class File
def size
@file_size ||= File.size(self.path)
end
end
Это работает, но мне интересно, есть ли причина, по которой метод size не был добавлен как метод экземпляра, и есть ли лучший способ сделать то, что я сделал.