methods/setter_on_a_class_needs_a_class_method.rb
tests/_examples/methods/setter_on_a_class_needs_a_class_method.rb in the metorex repository.
module Settings
def level=(value)
@level = value
end
end
class Widget
def size=(value)
@size = value
end
end
[-> { Settings.level = 1 }, -> { Widget.size = 2 }, -> { Widget.color = 3 }].each do |assignment|
assignment.call
rescue NoMethodError => error
puts error.message
end
p Widget.class_variables
Output:
undefined method 'level=' for module Settings
undefined method 'size=' for class Widget
undefined method 'color=' for class Widget
[]