Такой одинокий
Да, тем кто еще не пришел в наши сверкающие ряды - вот таким образом разрешается в Ruby Конундрум О Синглтоне (про мечту о том, чтобы у синглтона были только методы класса):
class Magician
include Singleton
def dove
"*poof* A dove!"
end
def segway
"*rides Segway around*"
end
end
Magician.dove #=> "*poof* A dove!"
Magician.segway #=> "*rides Segway around*"
Всческий plumbing само собой выполняется прозрачно, под капотом и с полным сохранением динамики. Neat shit.
Но это для пуристов. Если пуризм не критичен - у классов в Ruby тоже есть instance variables, с которыми соответственно так и можно работать:
class TallMagician
class << self
attr_accessor :hat
def set(var)
@var = var
end
def get
@var
end
end
end
TallMagician.set(234) #=> 234
TallMagician.get # => 234