Эта переменная принадлежит объекту верхнего уровня с именем main
.
$ irb
1.9.3p0 :001 > @var = 'Hi'
=> "Hi"
1.9.3p0 :002 > self
=> main
1.9.3p0 :003 > @var
=> Hi
main
- это, по сути, объект с интересным свойством: любой метод, определенный в его контексте (вне «обычных» классов), становится доступным для всех объектов.
$ irb
1.9.3p0 :001 > def foo
1.9.3p0 :002?> 1
1.9.3p0 :003?> end
=> nil
1.9.3p0 :004 > Object.new.foo
=> 1
1.9.3p0 :005 > "".foo
=> 1