class Plugin::GUI::Timeline

Public Class Methods

new(*args) click to toggle source
Calls superclass method Plugin::GUI::Cuscadable.new
# File core/plugin/gui/timeline.rb, line 19
def initialize(*args)
  super
  Plugin.call(:timeline_created, self)
end

Public Instance Methods

<<(argument) click to toggle source
# File core/plugin/gui/timeline.rb, line 24
def <<(argument)
  messages = argument.is_a?(Enumerable) ? argument : Array[argument]
  Plugin.call(:gui_timeline_add_messages, self, messages)
end
active!(just_this=true, by_toolkit=false) click to toggle source

このタイムラインをアクティブにする。また、子のPostboxは非アクティブにする

Return

self

Calls superclass method Plugin::GUI::HierarchyChild#active!
# File core/plugin/gui/timeline.rb, line 40
def active!(just_this=true, by_toolkit=false)
  set_active_child(nil, by_toolkit) if just_this
  super end
clear() click to toggle source

タイムラインの中のツイートを全て削除する

# File core/plugin/gui/timeline.rb, line 30
def clear
  Plugin.call(:gui_timeline_clear, self) end
create_postbox(options = {}) click to toggle source

in_reply_to_message に対するリプライを入力するPostboxを作成してタイムライン上に表示する

Args

options

Postboxのオプション

# File core/plugin/gui/timeline.rb, line 97
def create_postbox(options = {})
  i_postbox = Plugin::GUI::Postbox.instance
  i_postbox.options = options
  self.add_child i_postbox
end
create_reply_postbox(in_reply_to_message, options = {}) click to toggle source

in_reply_to_message に対するリプライを入力するPostboxを作成してタイムライン上に表示する

Args

in_reply_to_message

リプライ先のツイート

options

Postboxのオプション

# File core/plugin/gui/timeline.rb, line 89
def create_reply_postbox(in_reply_to_message, options = {})
  create_postbox(options.merge(to: [in_reply_to_message],
                               header: "@#{in_reply_to_message.user.idname} "))
end
in_message(messages) click to toggle source

messages のうち、Timelineに含まれているMessageを返す

Args

messages

Enumerable タイムラインに含まれているか確認するMessage

Return

Enumerable messages で指定された中で、selfに含まれるもの

# File core/plugin/gui/timeline.rb, line 59
def in_message(messages)
  detected = Plugin.filtering(:gui_timeline_select_messages, self, messages)
  if detected.is_a? Enumerable
    detected[1]
  else
    [] end end
include?(*messages) click to toggle source

タイムラインに messages が含まれているなら真を返す

Args

*messages

Message タイムラインに含まれているか確認するMessageオブジェクト。配列や引数で複数指定した場合は、それら全てが含まれているかを返す

Return

messages が含まれているなら真

# File core/plugin/gui/timeline.rb, line 49
def include?(*messages)
  args = messages.flatten.freeze
  detected = Plugin.filtering(:gui_timeline_select_messages, self, args)
  detected.is_a? Array and detected[1].size == args.size end
not_in_message(messages) click to toggle source

messages のうち、Timelineに含まれていないMessageを返す

Args

messages

Enumerable タイムラインに含まれているか確認するMessageオブジェクト

Return

Enumerable messages で指定された中で、selfに含まれていないもの

# File core/plugin/gui/timeline.rb, line 71
def not_in_message(messages)
  detected = Plugin.filtering(:gui_timeline_reject_messages, self, messages)
  if detected.is_a? Enumerable
    detected[1]
  else
    [] end end
order(&block) click to toggle source

Messageを並べる順序を数値で返すブロックを設定する

Args

&block

並び順

Return

self

# File core/plugin/gui/timeline.rb, line 130
def order(&block)
  Plugin.call(:gui_timeline_set_order, self, block)
end
postbox(options = {}) click to toggle source

Postboxを作成してこの中に入れる

Args

options

設定値

Return

新しく作成したPostbox

# File core/plugin/gui/timeline.rb, line 108
def postbox(options = {})
  postbox = Plugin::GUI::Postbox.instance
  postbox.options = options
  self.add_child postbox
  postbox
end
scroll_to_top() click to toggle source

タイムラインの一番上にスクロール

# File core/plugin/gui/timeline.rb, line 34
def scroll_to_top
  Plugin.call(:gui_timeline_scroll_to_top, self) end
selected_messages() click to toggle source

選択されているMessageを返す

Return

選択されているMessage

# File core/plugin/gui/timeline.rb, line 81
def selected_messages
  messages = Plugin.filtering(:gui_timeline_selected_messages, self, [])
  messages[1] if messages.is_a? Array end
selected_text(message) click to toggle source

このタイムライン内の message の部分文字列が選択されている場合それを返す。 何も選択されていない場合はnilを返す

Args

message

調べるMessageのインスタンス

Return

選択されたテキスト

# File core/plugin/gui/timeline.rb, line 121
def selected_text(message)
  result = Plugin.filtering(:gui_timeline_selected_text, self, message, nil)
  result.last if result end