Я искал исходный код для устройства, поскольку я не могу понять, как работает приведенный ниже блок кода (полный исходный код здесь)
def mapping
@mapping ||= begin
mapping = Devise.mappings[scope]
raise "Could not find mapping for #{scope}" unless mapping
mapping
end
end
Я думаю, что понимаю большинство частей этого кода, но не могу найти, где переменная области видимости объявлена / определена. Я искал репозиторий (и репозиторий, от которого он наследует), и посмотрел на доступные тесты, чтобы попытаться получить лучшее представление о том, что здесь происходит, но не могу найти упоминания о переменной scope
нигде. Я все еще изучаю ruby, так что мне не хватает чего-то очевидного / языковой конструкции, о которой я здесь не знаю на работе?