class Lorikeet::Observable

Attributes

context[R]
observers[R]

Public Class Methods

new(context, observers = []) click to toggle source
# File lib/lorikeet.rb, line 3
def initialize(context, observers = [])
  @context   = context
  @observers = observers
end

Public Instance Methods

<<(observer) click to toggle source
# File lib/lorikeet.rb, line 12
def <<(observer)
  observers << observer unless observers.include?(observer)
end
action() { |context| ... } click to toggle source
# File lib/lorikeet.rb, line 20
def action
  yield(context)

  observers.each { |o| o.send(o.callback_id, context) }
end
delete(observer) click to toggle source
# File lib/lorikeet.rb, line 16
def delete(observer)
  observers.delete(observer)
end
include?(observer) click to toggle source
# File lib/lorikeet.rb, line 8
def include?(observer)
  observers.include?(observer)
end