Class: Observable
- Inherits:
-
Object
- Object
- Observable
- Defined in:
- lib/source/database/observer.rb
Overview
Наблюдаемый объект
Instance Attribute Summary collapse
-
#observers ⇒ Object
readonly
Returns the value of attribute observers.
Instance Method Summary collapse
- #add_observer(observer) ⇒ Object
- #do_something ⇒ Object
-
#initialize ⇒ Observable
constructor
A new instance of Observable.
- #notify_observers ⇒ Object
- #remove_observer(observer) ⇒ Object
Constructor Details
#initialize ⇒ Observable
Returns a new instance of Observable.
9 10 11 |
# File 'lib/source/database/observer.rb', line 9 def initialize @observers = [] end |
Instance Attribute Details
#observers ⇒ Object (readonly)
Returns the value of attribute observers.
7 8 9 |
# File 'lib/source/database/observer.rb', line 7 def observers @observers end |
Instance Method Details
#add_observer(observer) ⇒ Object
13 14 15 |
# File 'lib/source/database/observer.rb', line 13 def add_observer(observer) @observers << observer end |
#do_something ⇒ Object
25 26 27 28 |
# File 'lib/source/database/observer.rb', line 25 def do_something puts "Наблюдаемый объект: сделал что-то!" notify_observers end |
#notify_observers ⇒ Object
21 22 23 |
# File 'lib/source/database/observer.rb', line 21 def notify_observers @observers.each { |observer| observer.update(self) } end |
#remove_observer(observer) ⇒ Object
17 18 19 |
# File 'lib/source/database/observer.rb', line 17 def remove_observer(observer) @observers.delete(observer) end |