Class: Lorikeet::Observable
- Inherits:
-
Object
- Object
- Lorikeet::Observable
- Defined in:
- lib/lorikeet.rb
Instance Method Summary collapse
- #<<(observer) ⇒ Object
- #action {|context| ... } ⇒ Object
- #delete(observer) ⇒ Object
- #include?(observer) ⇒ Boolean
-
#initialize(context, observers = []) ⇒ Observable
constructor
A new instance of Observable.
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
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
8 9 10 |
# File 'lib/lorikeet.rb', line 8 def include?(observer) observers.include?(observer) end |