Class: Observable

Inherits:
Object
  • Object
show all
Defined in:
lib/source/database/observer.rb

Overview

Наблюдаемый объект

Instance Attribute Summary collapse

Instance Method Summary collapse

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