Когда Ruby видит голое слово, он всегда сначала проверяет, есть ли локальная переменная с таким именем. Если нет, он пытается вызвать метод:
>> def foo
.. "bar"
.. end
=> nil
>> foo = "lala"
=> "lala"
>> foo
=> "lala"
>> # to explicitly call the method
.. foo()
=> "bar"
Если он не может разрешить имя как локальный var или метод, вы получите следующую ошибку:
>> bar
NameError: undefined local variable or method `bar' for #<Object:0x000001008b8e58>
from (irb):1
Поскольку вы ранее не присваивали глобальные переменные, это должен быть метод.