Задать вопрос
beerdy
@beerdy
https://vk.com/beerdy

Как вывести список attr_accessor класса?

Помогите подробно разобраться со следующей реализацией кода найденного в инете:
class MyBaseClass
  def self.attr_accessor(*vars)
    @attributes ||= []
    @attributes.concat vars
    super(*vars)
  end

  def self.attributes
    @attributes
  end

  def attributes
    self.class.attributes
  end
end

class SubClass < MyBaseClass
  attr_accessor :id, :title, :body
end

SubClass.new.attributes.inspect #=> [:id, :title, :body]


Вот эта строка особо интересна @attributes ||= []
  • Вопрос задан
  • 190 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Про оператор ||=: присваивание происходит если переменная пустая.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы