Как можно легко установить доступ к одному и тому же классу?
Допустим, у меня есть этот вызов:
# some_file.rb , create a new object
temperature = Measurement.new 'temperature', 36.6
И модель:
# Measurements.rb , some model
class Measurement
attr_accessor :value, :type
attr_reader :device, :title, :label
def initialize type, value
# This one works, but not trigger the setter
@type = type
# And this one trigger setter
self.type = type
end
def type= new_type
# do something very important
end
end
Означает ли это, что мне всегда нужно использовать self.var =
вместо @var =
, если я когда-нибудь захочу использовать сеттеры с этой переменной, не переименовывая ее везде в классе? Есть ли еще какая-то разница и есть ли лучший способ добавить сеттер?