module Diva::Model::MessageMixin

begin rdoc

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

end

Public Instance Methods

ancestor(force_retrieve=false) click to toggle source

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

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 130
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 124
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 117
def each_ancestor
  Enumerator.new{|y| y << self }
end
favoritable?(counterpart=nil) click to toggle source

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

Args

counterpart

お気に入りに追加する側のオブジェクト(Worldやユーザ等)。省略した場合は現在選択されているWorld

Return

true

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

false

対応していない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 47
def favoritable?(counterpart=nil)
  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?(counterpart=nil) click to toggle source

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

Args

counterpart

お気に入りに追加する側のオブジェクト(Worldやユーザ等)。省略した場合は現在選択されているWorld

Return

true

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

false

登録していない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 29
def favorite?(counterpart=nil)
  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 36
def favorited_by
  []
end
from_me?(counterpart=nil) click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 155
def from_me?(counterpart=nil)
  false
end
has_receive_message?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 134
def has_receive_message?
  false
end
idname() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 163
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 151
def modified
  self[:modified] || created
end
quoting?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 107
def quoting?
  false
end
receive_user_screen_names() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 175
def receive_user_screen_names
  []
end
repliable?(counterpart=nil) click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 167
def repliable?(counterpart=nil)
  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 56
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 64
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 103
def retweet_source(force_retrieve=nil)
  nil
end
retweetable?(counterpart=nil) click to toggle source

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

Args

counterpart

お気に入りに追加する側のオブジェクト(Worldやユーザ等)。省略した場合は現在選択されているWorld

Return

true

ReTweetに対応している

false

していない

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

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

Args

counterpart

お気に入りに追加する側のオブジェクト(Worldやユーザ等)。省略した場合は現在選択されているWorld

Return

true

既にReTweetしている

false

していない

# File core/lib/diva_hacks/mixin/message_mixin.rb, line 74
def retweeted?(counterpart=nil)
  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 81
def retweeted_by
  []
end
system?() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 147
def system?
  false
end
to_me?(counterpart=nil) click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 159
def to_me?(counterpart=nil)
  false
end
to_message() click to toggle source
# File core/lib/diva_hacks/mixin/message_mixin.rb, line 142
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 138
def to_show
  @to_show ||= description.gsub(/&(gt|lt|quot|amp);/){|m| {'gt' => '>', 'lt' => '<', 'quot' => '"', 'amp' => '&'}[$1] }.freeze
end