Actions
提案 #1439
openイベントリスナーを一括で有効・無効にする機能
プラグイン名:
ブランチ:
Description
ストリーミングAPI設定など、特定の条件下でのみ有効になるイベントハンドラ(on_*, filter_*, subscribe, collection, generate)のまとまりを定義したい。
原案A¶
userconfig_if(:streaming_enable) do
subscribe(:event) ...
on_event ...
end
UserConfig[:streaming_enable]
がfalse→trueになったときにブロックを一度実行。ブロック内で定義されたハンドラに専用のタグを付けておく。
false→trueになったとき、そのタグを持ったハンドラを全てdetachする。
原案B¶
sw = switch do
subscribe(:event) ...
on_event ...
end
on_userconfig_modify do |name, val|
val ? sw.on : sw.off
end
汎用的なもの。onとoffメソッドは冪等に振る舞う。
原案C¶
tag = handler_tag do
subscribe(:event) ...
on_event ...
end
on_userconfig_modify do |name, val|
val ? tag.enable : tag.disable
end
原案Bを、既存機能であるhandler_tagに有効化/無効化オプションを付けて実現するもの。
ブロックはその中で定義されたハンドラにタグを付与するだけなので、
タグがついているものに有効フラグがつくのはわかりやすいが、ネストされた場合は有効フラグのANDを取りたいので、タグ機能とは相性が悪いかもしれない。
Related issues
Updated by toshi_a 初音 over 4 years ago
- Blocks バグ #1436: REST API取得の度にboostが通知される added
Updated by toshi_a 初音 over 4 years ago
- Blocks バグ #1438: Mastodon: ストリーミングAPIを無効にする設定をしてもストリーミング接続される added
Actions