forkしたり自分で作ったりしたmikutterプラグインをすこし改良したお話
nested-quote
github.com/yuxxxx/mikutte… ツイートの順番がばらばらな問題はひとまず解決しました。 github.com/yuxxxx/mikutte… を使ってくれている人は更新すると少し幸せになれるかもしれません
— ゆうなんとか@9/14-17とうきょうさん (@yuu_hara) 9月 11, 2012
前々からなんとかならないかなって思っていた問題が解決したので報告です。
ツイートの順番がばらばら · 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で引用するプラグインも少し機能改善をしました。
今まで引用できたのは一度にひとつのツイートだけだったのですが、選択したツイートのうち、鍵アカ以外のすべてを引用するようにしました。いくつか一気に引用したいときは捗るかもしれません。