此源代码中声明的范围变量在哪里?

Where is the scope variable declared in this source code?

我一直在查看设计的源代码,我一直无法弄清楚下面的代码块是如何工作的(full source here)

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

我认为理解这段代码的大部分内容,但无法找到范围变量的位置 declared/defined。我搜索了存储库(以及它继承自的存储库),并查看了可用的测试以尝试更好地了解这里发生的事情,但在任何地方都找不到 scope 变量的任何提及。我仍在学习 ruby,所以我是否遗漏了一些我在这里工作时不知道的 obvious/a 语言结构?

这是 warden 东西。看看这个

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

这一行

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

应该给了你一个提示 :)