class Sirens::ValueModel

Public Class Methods

new(value = nil) click to toggle source

Initializing

Calls superclass method
# File lib/models/value_model.rb, line 15
def initialize(value = nil)
    super()

    @value = value
end
on(value) click to toggle source
# File lib/models/value_model.rb, line 8
def on(value)
    self.new(value)
end

Public Instance Methods

announce_value_changed(new_value:, old_value:) click to toggle source
# File lib/models/value_model.rb, line 37
def announce_value_changed(new_value:, old_value:)
    changed

    notify_observers(
        ValueChanged.new(new_value: new_value, old_value: old_value)
    )
end
set_value(new_value) click to toggle source
# File lib/models/value_model.rb, line 27
def set_value(new_value)
    return if value == new_value

    old_value = value

    @value = new_value

    announce_value_changed(new_value: new_value, old_value: old_value)
end
value() click to toggle source

Accessing

# File lib/models/value_model.rb, line 23
def value()
    @value
end