Вы должны сделать это из класса. Как это:
class Whatever
attr_accessor :roles
def initialize
@roles = []
end
end
У вас не может быть <<roles
метода. Вы должны иметь аксессор для roles
, который поддерживает оператор <<
.
РЕДАКТИРОВАТЬ: я обновил код. Теперь вы можете видеть, как оператор <<
должен быть перегружен, но вы также можете делать то же, что и часть roles<<
. Вот небольшой фрагмент его использования:
w = Whatever.new
w << "overload for object called"
# and overloads for the roles array
w.roles << "first role"
w.roles << "second role"