Class: Twterm::Status
- Inherits:
-
Object
- Object
- Twterm::Status
- Defined in:
- lib/twterm/status.rb
Instance Attribute Summary collapse
-
#created_at ⇒ Object
readonly
Returns the value of attribute created_at.
-
#favorite_count ⇒ Object
readonly
Returns the value of attribute favorite_count.
-
#favorited ⇒ Object
(also: #favorited?)
readonly
Returns the value of attribute favorited.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#in_reply_to_status_id ⇒ Object
readonly
Returns the value of attribute in_reply_to_status_id.
-
#media ⇒ Object
readonly
Returns the value of attribute media.
-
#quoted_status_id ⇒ Object
readonly
Returns the value of attribute quoted_status_id.
-
#retweet_count ⇒ Object
readonly
Returns the value of attribute retweet_count.
-
#retweeted ⇒ Object
(also: #retweeted?)
readonly
Returns the value of attribute retweeted.
-
#retweeted_status_id ⇒ Object
readonly
Returns the value of attribute retweeted_status_id.
-
#text ⇒ Object
readonly
Returns the value of attribute text.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
-
#urls ⇒ Object
readonly
Returns the value of attribute urls.
-
#user_id ⇒ Object
readonly
Returns the value of attribute user_id.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #date ⇒ Object
- #expand_url! ⇒ Object
- #favorite! ⇒ Object
-
#initialize(tweet, is_retweeted_status = false) ⇒ Status
constructor
A new instance of Status.
- #quote? ⇒ Boolean
- #retweet! ⇒ Object
- #retweet? ⇒ Boolean
- #split(width) ⇒ Object
- #unfavorite! ⇒ Object
- #unretweet! ⇒ Object
- #update!(tweet, is_retweeted_status = false) ⇒ Object
Constructor Details
#initialize(tweet, is_retweeted_status = false) ⇒ Status
Returns a new instance of Status.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/twterm/status.rb', line 38 def initialize(tweet, is_retweeted_status = false) unless tweet.retweeted_status.is_a? Twitter::NullObject @retweeted_status_id = tweet.retweeted_status.id end @id = tweet.id @text = CGI.unescapeHTML(tweet.full_text.dup) @created_at = tweet.created_at.dup.localtime @in_reply_to_status_id = tweet.in_reply_to_status_id @quoted_status_id = tweet.quoted_status_id @url = tweet.url update!(tweet, is_retweeted_status) @media = tweet.media @urls = tweet.urls @user_id = tweet.user.id @splitted_text = {} end |
Instance Attribute Details
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def created_at @created_at end |
#favorite_count ⇒ Object (readonly)
Returns the value of attribute favorite_count.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def favorite_count @favorite_count end |
#favorited ⇒ Object (readonly) Also known as: favorited?
Returns the value of attribute favorited.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def favorited @favorited end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def id @id end |
#in_reply_to_status_id ⇒ Object (readonly)
Returns the value of attribute in_reply_to_status_id.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def in_reply_to_status_id @in_reply_to_status_id end |
#media ⇒ Object (readonly)
Returns the value of attribute media.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def media @media end |
#quoted_status_id ⇒ Object (readonly)
Returns the value of attribute quoted_status_id.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def quoted_status_id @quoted_status_id end |
#retweet_count ⇒ Object (readonly)
Returns the value of attribute retweet_count.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def retweet_count @retweet_count end |
#retweeted ⇒ Object (readonly) Also known as: retweeted?
Returns the value of attribute retweeted.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def retweeted @retweeted end |
#retweeted_status_id ⇒ Object (readonly)
Returns the value of attribute retweeted_status_id.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def retweeted_status_id @retweeted_status_id end |
#text ⇒ Object (readonly)
Returns the value of attribute text.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def text @text end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def url @url end |
#urls ⇒ Object (readonly)
Returns the value of attribute urls.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def urls @urls end |
#user_id ⇒ Object (readonly)
Returns the value of attribute user_id.
14 15 16 |
# File 'lib/twterm/status.rb', line 14 def user_id @user_id end |
Instance Method Details
#==(other) ⇒ Object
20 21 22 |
# File 'lib/twterm/status.rb', line 20 def ==(other) other.is_a?(self.class) && id == other.id end |
#date ⇒ Object
24 25 26 27 |
# File 'lib/twterm/status.rb', line 24 def date format = Time.now - @created_at < 86_400 ? '%H:%M:%S' : '%Y-%m-%d %H:%M:%S' @created_at.strftime(format) end |
#expand_url! ⇒ Object
29 30 31 32 |
# File 'lib/twterm/status.rb', line 29 def sub = -> (x) { @text.sub!(x.url, x.display_url) } (@media + @urls).each(&sub) end |
#favorite! ⇒ Object
34 35 36 |
# File 'lib/twterm/status.rb', line 34 def favorite! @favorited = true end |
#quote? ⇒ Boolean
62 63 64 |
# File 'lib/twterm/status.rb', line 62 def quote? !quoted_status_id.nil? end |
#retweet! ⇒ Object
70 71 72 |
# File 'lib/twterm/status.rb', line 70 def retweet! @retweeted = true end |
#retweet? ⇒ Boolean
66 67 68 |
# File 'lib/twterm/status.rb', line 66 def retweet? !retweeted_status_id.nil? end |
#split(width) ⇒ Object
74 75 76 |
# File 'lib/twterm/status.rb', line 74 def split(width) @splitted_text[width] ||= @text.split_by_width(width) end |
#unfavorite! ⇒ Object
78 79 80 |
# File 'lib/twterm/status.rb', line 78 def unfavorite! @favorited = false end |
#unretweet! ⇒ Object
82 83 84 |
# File 'lib/twterm/status.rb', line 82 def unretweet! @retweeted = false end |
#update!(tweet, is_retweeted_status = false) ⇒ Object
86 87 88 89 90 91 92 93 |
# File 'lib/twterm/status.rb', line 86 def update!(tweet, is_retweeted_status = false) @retweet_count = tweet.retweet_count @favorite_count = tweet.favorite_count @retweeted = tweet.retweeted? unless is_retweeted_status @favorited = tweet.favorited? self end |