Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > net/imapライブラリ > Net::IMAPクラス > add_response_handler

instance method Net::IMAP#add_response_handler

add_response_handler(handler) -> ()[permalink][rdoc]
add_response_handler(handler) {|resp| ...} -> ()

レスポンスハンドラを追加します。

レスポンスハンドラはサーバから応答を受け取るごとに呼びだされます。ハンドラには Net::IMAP::TaggedResponse もしくは Net::IMAP::UntaggedResponse オブジェクトが渡されます。

主にサーバからの非同期的なイベントを受け取るために用います。例えば EXISTS 応答を受け取る (メールボックスに新たなメールが追加されたタイミングで発生します) ためなどに用いられます。

レスポンスハンドラはメインのスレッドとは別のスレッドで呼びだされることに注意してください。

例:

imap.add_response_handler do |resp|
  p resp
end
[PARAM] handler:
追加するハンドラ(ProcMethod オブジェクト)

[SEE_ALSO] Net::IMAP#remove_response_handler