プロジェクト

全般

プロフィール

機能 #1250 » 0002-fix_stack_overflow.patch

Shibafu Midorino, 2018-05-21 23:27

差分を表示:

core/plugin/twitter/twitter.rb
242 242
  defspell(:remain_charcount, :twitter) do |twitter, text:|
243 243
    text = trim_hidden_regions(text)
244 244
    Twitter::TwitterText::Extractor.extract_urls(text).map{|url|
245
      if url.length < posted_url_length(url)
246
        -(posted_url_length(url) - url.length)
245
      posted_url_length = Plugin.filtering(:tco_url_length, url, 0).last
246
      if url.length < posted_url_length
247
        -(posted_url_length - url.length)
247 248
      else
248
        url.length - posted_url_length(url)
249
        url.length - posted_url_length
249 250
      end
250 251
    }.inject(140 - text.size, &:+)
251 252
  end
......
285 286
    end
286 287
  end
287 288

  
288
  # URL _url_ がTwitterに投稿された時に何文字としてカウントされるかを返す
289
  # ==== Args
290
  # [url] String URL
291
  # ==== Return
292
  # Fixnum URLの長さ
293
  def posted_url_length(url)
294
    Plugin.filtering(:tco_url_length, url, 0).last
295
  end
296

  
297 289
  # リツイートを削除した時、ちゃんとリツイートリストからそれを削除する
298 290
  on_destroyed do |messages|
299 291
    messages.each{ |message|
(2-2/3)