собственной относится к текущему объекту.
Внутри класса self используется для определения метода уровня класса.
class Foo
def self.for(facebook_id)
User.create_by_facebook_id(facebook_id)
end
end
определяет метод класса для в классе Foo. Вызывается:
Foo.for(facebook_id)
Вы можете google для методов класса, чтобы узнать больше.
Возможно, что часть Rails или плагин/драгоценный камень ожидает, что некоторые классы будут иметь метод класса «для». В этом отношении было бы полезно больше контекста.
Что метод делает
Как это характерно для методов класса, он создает экземпляр класса. Например, класс ActiveRecord имеет метод класса «create», который пытается создать экземпляр класса модели, который был сохранен в базе данных. Таким образом, User.create вернет экземпляр класса User, который был сохранен в базе данных.
В вашем примере кода он вызывает метод класса «create_by_facebook_id», который предоставляется классом User в приложении.
Похоже «для» метод используется для сокрытия информации, так как все, что он делает это делает еще один вызов метода (к User.create_by_facebook)
Добавлено:
Кстати, возвращаемое значение по умолчанию из Ruby-методов - значение последнего оператора. Таким образом, ваш примерный метод вернет экземпляр пользователя, недавно созданный из поставляемого facebook_id.
Это не относится к Rails, поэтому я отметил его как таковой. –