現状nilしか渡していない第1引数にworld slugを渡して、最初に見つけたそのslugのworldを返す、みたいになっていると、別プラグインで順序づけしたり(rate limitをチェックしてフォールバックしたり)する余地が生まれるかなぁ。
これが何を意味しているかというと、似たような概念をプラグインで追加できるということ。ただ他のプラグインから利用されないと意味がないので、今のmikutterプラグインエコシステムの仕組みを考えると、バンドルされることが事実上必須になってしまう
実はworldonではfilter_worldon_currentというのがあって、world_currentがworldon worldだったらそれを、そうじゃなければ最初に見つけたworldon worldを返す、とかやっていたり。
world_currentの戻り値はユーザが現在注目しているWorldなんだけど、実はこんなものがWorldプラグインで提供されているのはおかしくて、current worldなどという概念は別にWorldの本質じゃない
何を渡すか、というところで、さっき書いた https://mstdn.kanagu.info/@cobodo/99630639511906896 のようなもので得た関連worldのslugを渡すのが一番汎用性高そうかなぁとは(今のところ)思う。でもこういうのはIntent使うべきなんでは?
filter_world_currentの引数は、今のところnilしか渡されていないので、ここにnil以外が渡されたときの挙動を変更させることは簡単そう。
defspell(:world_slug_for, :twitter_tweet, condition: -> (status) { true }) do |status|
:twitter
end
的なサムシングがですね
便所の落書きレベルの意見なんだけど、抽出タブのアイテムを選択したとき、そのアイテムの属するworldとして動作してほしい感はある
Service.primaryは暗黙にフォールバックするtwitter worldでもいい気がするしtwitterアカウントが無ければnil返すくらいでも(過激派)
父さんな、ほたぁで食っていこうと思うんだ