Потому что он этого не знает
def GeoPlanet::Base.build_url(resource_path, options = {}) end
будет работать так же хорошо?
Ну, они не на 100% эквивалентны: если GeoPlanet
не существует, то оригинальный фрагмент создаст модуль, но моя версия выдаст NameError
. Чтобы обойти это, вам нужно сделать следующее:
module GeoPlanet
def Base.build_url(resource_path, options = {}) end
end
Что, конечно, поднимет NameError
, если Base
не существует. Чтобы обойти , что , вы должны сделать:
module GeoPlanet
class Base
def self.build_url(resource_path, options = {}) end
end
end
Как ни крути, не нужно использовать синтаксис синглтон-класса. Некоторые люди просто предпочитают это.