Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > observerライブラリ > Observableモジュール

module Observable

クラスの継承リスト: Observable

要約

Observer パターンを提供するモジュールです。

Mix-in により Observer パターンを提供します。

Observable モジュールを include したクラスは Observable#changed メソッドにより更新フラグを立て、 Observable#notify_observers が呼び出されると 更新フラグが立っている場合はオブザーバに通知します (オブザーバの update メソッドを呼び出す)。 Observable#notify_observers の引数は そのままオブザーバの update メソッドに渡されます。

サンプルコード

require 'observer'
class AObservable
  include Observable
  ...
end
class AObserver
  def update(arg)
    ...
  end
  ...
end
obj = AObservable.new
observer = AObserver.new
obj.add_observer(observer)
obj.changed
obj.notify_observers(args)

インスタンスメソッド

定義 説明
add_observer(observer) -> Array

オブザーバを登録します。

changed(state = true) -> bool

更新フラグを立てます。

changed? -> bool

更新フラグの状態を返します。

count_observers -> Fixnum

登録されているオブザーバの数を返します。

delete_observer(observer) -> object | nil

オブザーバを削除します。

delete_observers -> Array

オブザーバをすべて削除します。

notify_observers(*arg) -> nil

オブザーバへ更新を通知します。