ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

forkしたり自分で作ったりしたmikutterプラグインをすこし改良したお話

nested-quote


前々からなんとかならないかなって思っていた問題が解決したので報告です。
ツイートの順番がばらばら · Issue #1 · yuxxxx/mikutter-nested-quote · GitHub
これ、ついに解決しました。今までは引用しているツイートの表示される順番とツイートのパーマネントリンクを書いた順番が同じにならなかったのですが、今日コミットした版で同じ順番で表示されるように書き換えました。
ばらばらになっていた理由は非同期処理でした。コンストラクタ(def initializeっていうメソッド)の

if not get_tweet_ids.empty?
 get_tweet_ids.each{ |message_id|
    Thread.new {
      m = Message.findbyid(message_id.to_i)
      if m.is_a? Message
        Delayer.new{
          render_message(m) } end } }

というところで、render_messageが期待していたのと違うタイミングで呼び出されていたのが原因だったようです。
ひとまず、eachをeach_with_indexに書き換え、messageにindex、つまりツイートのパーマネントリンクを書いた順番を付け足し、追加する度にURLが書いてある順番でソートするという愚直な実装ですが、期待どおりの表示になりました。
Diffはここをみましょう
使ってくれている方、特に順番に表示されてなくて少しいらっときていた方は更新してやってください。
そろそろこのソースこのコードが何をしてるのかわかってきたので、なんとかしてもっと綺麗に書き換えたいのですがまだまだ腕が及ばないですね…

quote-tweet-as-url

ツイートをURLで引用するプラグインも少し機能改善をしました。
今まで引用できたのは一度にひとつのツイートだけだったのですが、選択したツイートのうち、鍵アカ以外のすべてを引用するようにしました。いくつか一気に引用したいときは捗るかもしれません。