Описание тега attr-accessor

Аксессор атрибутов в Ruby - это способ объявления доступности атрибутов (чтение и запись) с помощью средств метапрограммирования Ruby.

Применение

Для любого класса Ruby можно использовать attr_accessor метод так:

class Car
    attr_accessor :speed
end

Это позволяет нам читать и писать speed переменная экземпляра любого экземпляра Car:

my_car = Car.new
my.car.speed = 100
my.car.speed # => 100

В attr_accessorМетод реализует эту функциональность, создавая новые методы для класса, в котором он был вызван.

Внутренности

Следовательно, используя attr_accessor фактически эквивалентно следующему:

class Car
    attr_reader :speed
    attr_writer :speed
end

что, в свою очередь, совпадает с

class Car
    def speed
        @speed
    end

    def speed=(v)
        @speed = v
    end
end 

дальнейшее чтение