module Diva::Model::MessageMixin

Model用のmoduleで、これをincludeするとMessageに必要最低限のメソッドがロードされ、タイムラインなどに表示できるようになる。

Public Instance Methods

ancestor(force_retrieve=false) click to toggle source

投稿の宛先になっている投稿を再帰的にさかのぼり、何にも宛てられていない投稿を返す。 つまり、一番祖先を返す。

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 122
def ancestor(force_retrieve=false)
  ancestors(force_retrieve).last
end
ancestors(force_retrieve=false) click to toggle source

投稿の宛先になっている投稿を再帰的にさかのぼり、それらを配列にして返す。 配列インデックスが大きいものほど、早く投稿された投稿になる。 ([0]はへのリプライ)

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 116
def ancestors(force_retrieve=false)
  [self]
end
each_ancestor() click to toggle source

投稿の宛先になっている投稿を再帰的にさかのぼり、それぞれを引数に取って ブロックが呼ばれる。 ブロックが渡されていない場合、 Enumerator を返す。 force_retrieve は、 Message#receive_message の引数にそのまま渡される

Return

obj|Enumerator

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 109
def each_ancestor
  Enumerator.new{|y| y << self }
end
favoritable?() click to toggle source

この投稿が、 Service.primary でお気に入りの対応状況を取得する。 既にお気に入りに追加されているとしても、Serviceが対応しているならtrueとなる。

Return

true

お気に入りに対応している

false

対応していない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 43
def favoritable?
  false
end
favorite(_fav=true) click to toggle source

この投稿を、現在の Service.primary でお気に入りとしてマークする。

Args

_fav

bool お気に入り状態。真ならお気に入りにし、偽なら外す

Return

Deferred

成否判定

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 19
def favorite(_fav=true)
  Deferred.new{ true }
end
favorite?() click to toggle source

この投稿が、 Service.primary にお気に入り登録されているか否かを返す。

Return

true

お気に入りに登録している

false

登録していない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 27
def favorite?
  false
end
favorited_by() click to toggle source

このDivaをお気に入りに登録している Diva::Model を列挙する。

Return

Enumerable<Diva::Model>

お気に入りに登録しているオブジェクト

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 34
def favorited_by
  []
end
from_me?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 147
def from_me?
  false
end
has_receive_message?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 126
def has_receive_message?
  false
end
idname() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 155
def idname
  user.idname
end
mentioned_by_me?() click to toggle source

この投稿がMentionで、自分が誰かに宛てたものであれば真

Return

true

自分のMention

false

上記以外

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 10
def mentioned_by_me?
  false
end
message()
Alias for: to_message
modified() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 143
def modified
  self[:modified] || created
end
quoting?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 99
def quoting?
  false
end
receive_user_screen_names() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 167
def receive_user_screen_names
  []
end
repliable?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 159
def repliable?
  false
end
retweet() click to toggle source

このDivaをReTweetする。 ReTweetとは、Diva自体を添付した、内容が空のDivaを作成すること。 基本的にはTwitter用で、他の用途は想定していない。

Return

Deferred

成否判定

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 52
def retweet
  Deferred.new{ true }
end
retweet?() click to toggle source

このインスタンスがReTweetの基準を満たしているか否かを返す。

Return

true

このインスタンスはReTweetである

false

ReTweetではない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 60
def retweet?
  false
end
retweet_source(force_retrieve=nil) click to toggle source

このMessageがリツイートなら、何のリツイートであるかを返す。 返される値の retweet? は常に false になる

Args

force_retrieve

真なら、ツイートがメモリ上に見つからなかった場合Twitter APIリクエストを発行する

Return

Diva::Model

ReTweet元のMessage

nil

ReTweetではない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 95
def retweet_source(force_retrieve=nil)
  nil
end
retweetable?() click to toggle source

Service.primary が、このインスタンスをReTweetすることに対応しているか否かを返す 既にReTweetしている場合は、必ず true を返す。

Return

true

ReTweetに対応している

false

していない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 84
def retweetable?
  false
end
retweeted?() click to toggle source

Service.primary で、このインスタンスがReTweetされているか否かを返す

Return

true

既にReTweetしている

false

していない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 68
def retweeted?
  false
end
retweeted_by() click to toggle source

このインスタンスのReTweetにあたる Diva::Model を列挙する。

Return

Enumerable<Diva::Model>

このインスタンスのReTweetにあたるインスタンス

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 75
def retweeted_by
  []
end
system?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 139
def system?
  false
end
to_me?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 151
def to_me?
  false
end
to_message() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 134
def to_message
  self
end
Also aliased as: message
to_show() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 130
def to_show
  @to_show ||= description.gsub(/&(gt|lt|quot|amp);/){|m| {'gt' => '>', 'lt' => '<', 'quot' => '"', 'amp' => '&'}[$1] }.freeze
end