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.
-
#hashtags ⇒ Object
readonly
Returns the value of attribute hashtags.
-
#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.
-
#user_mentions ⇒ Object
readonly
Returns the value of attribute user_mentions.
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.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/twterm/status.rb', line 40 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 = if tweet.truncated? && tweet.attrs[:extended_tweet] tweet.attrs[:extended_tweet][:full_text] else tweet.attrs[:text] || tweet.attrs[:full_text] end @text = CGI.unescapeHTML(text) @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 @hashtags = tweet..map { |tag| Hashtag.new(tag) } @urls = tweet.urls @user_mentions = tweet.user_mentions @user_id = tweet.user.id @splitted_text = {} end |
Instance Attribute Details
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def created_at @created_at end |
#favorite_count ⇒ Object (readonly)
Returns the value of attribute favorite_count.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def favorite_count @favorite_count end |
#favorited ⇒ Object (readonly) Also known as: favorited?
Returns the value of attribute favorited.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def favorited @favorited end |
#hashtags ⇒ Object (readonly)
Returns the value of attribute hashtags.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def @hashtags end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def id @id end |
#in_reply_to_status_id ⇒ Object (readonly)
Returns the value of attribute in_reply_to_status_id.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def in_reply_to_status_id @in_reply_to_status_id end |
#media ⇒ Object (readonly)
Returns the value of attribute media.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def media @media end |
#quoted_status_id ⇒ Object (readonly)
Returns the value of attribute quoted_status_id.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def quoted_status_id @quoted_status_id end |
#retweet_count ⇒ Object (readonly)
Returns the value of attribute retweet_count.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def retweet_count @retweet_count end |
#retweeted ⇒ Object (readonly) Also known as: retweeted?
Returns the value of attribute retweeted.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def retweeted @retweeted end |
#retweeted_status_id ⇒ Object (readonly)
Returns the value of attribute retweeted_status_id.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def retweeted_status_id @retweeted_status_id end |
#text ⇒ Object (readonly)
Returns the value of attribute text.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def text @text end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def url @url end |
#urls ⇒ Object (readonly)
Returns the value of attribute urls.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def urls @urls end |
#user_id ⇒ Object (readonly)
Returns the value of attribute user_id.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def user_id @user_id end |
#user_mentions ⇒ Object (readonly)
Returns the value of attribute user_mentions.
16 17 18 |
# File 'lib/twterm/status.rb', line 16 def user_mentions @user_mentions end |
Instance Method Details
#==(other) ⇒ Object
22 23 24 |
# File 'lib/twterm/status.rb', line 22 def ==(other) other.is_a?(self.class) && id == other.id end |
#date ⇒ Object
26 27 28 29 |
# File 'lib/twterm/status.rb', line 26 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
31 32 33 34 |
# File 'lib/twterm/status.rb', line 31 def sub = -> (x) { @text.sub!(x.url, x.display_url) } (@media + @urls).each(&sub) end |
#favorite! ⇒ Object
36 37 38 |
# File 'lib/twterm/status.rb', line 36 def favorite! @favorited = true end |
#quote? ⇒ Boolean
72 73 74 |
# File 'lib/twterm/status.rb', line 72 def quote? !quoted_status_id.nil? end |
#retweet! ⇒ Object
80 81 82 |
# File 'lib/twterm/status.rb', line 80 def retweet! @retweeted = true end |
#retweet? ⇒ Boolean
76 77 78 |
# File 'lib/twterm/status.rb', line 76 def retweet? !retweeted_status_id.nil? end |
#split(width) ⇒ Object
84 85 86 |
# File 'lib/twterm/status.rb', line 84 def split(width) @splitted_text[width] ||= @text.split_by_width(width) end |
#unfavorite! ⇒ Object
88 89 90 |
# File 'lib/twterm/status.rb', line 88 def unfavorite! @favorited = false end |
#unretweet! ⇒ Object
92 93 94 |
# File 'lib/twterm/status.rb', line 92 def unretweet! @retweeted = false end |
#update!(tweet, is_retweeted_status = false) ⇒ Object
96 97 98 99 100 101 102 103 |
# File 'lib/twterm/status.rb', line 96 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 |