Где переменная области, объявленная в этом исходном коде? - PullRequest
0 голосов
/ 07 ноября 2018

Я искал исходный код для устройства, поскольку я не могу понять, как работает приведенный ниже блок кода (полный исходный код здесь)

def mapping
    @mapping ||= begin
        mapping = Devise.mappings[scope]
        raise "Could not find mapping for #{scope}" unless mapping
        mapping
    end
end

Я думаю, что понимаю большинство частей этого кода, но не могу найти, где переменная области видимости объявлена ​​/ определена. Я искал репозиторий (и репозиторий, от которого он наследует), и посмотрел на доступные тесты, чтобы попытаться получить лучшее представление о том, что здесь происходит, но не могу найти упоминания о переменной scope нигде. Я все еще изучаю ruby, так что мне не хватает чего-то очевидного / языковой конструкции, о которой я здесь не знаю на работе?

1 Ответ

0 голосов
/ 07 ноября 2018

Это warden материал. Проверьте это

https://github.com/wardencommunity/warden/blob/master/lib/warden/strategies/base.rb

эта строка

class Base < ::Warden::Strategies::Base

должен был дать вам подсказку:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...