Class: Lorikeet::Observable

Inherits:
Object
  • Object
show all
Defined in:
lib/lorikeet.rb

Instance Method Summary collapse

Constructor Details

#initialize(context, observers = []) ⇒ Observable

Returns a new instance of Observable.



3
4
5
6
# File 'lib/lorikeet.rb', line 3

def initialize(context, observers = [])
  @context   = context
  @observers = observers
end

Instance Method Details

#<<(observer) ⇒ Object



12
13
14
# File 'lib/lorikeet.rb', line 12

def <<(observer)
  observers << observer unless observers.include?(observer)
end

#action {|context| ... } ⇒ Object

Yields:

  • (context)


20
21
22
23
24
# File 'lib/lorikeet.rb', line 20

def action
  yield(context)

  observers.each { |o| o.send(o.callback_id, context) }
end

#delete(observer) ⇒ Object



16
17
18
# File 'lib/lorikeet.rb', line 16

def delete(observer)
  observers.delete(observer)
end

#include?(observer) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/lorikeet.rb', line 8

def include?(observer)
  observers.include?(observer)
end