summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/helpers/twitter_helper.rb38
-rw-r--r--app/views/twitter/_index.html.erb2
2 files changed, 36 insertions, 4 deletions
diff --git a/app/helpers/twitter_helper.rb b/app/helpers/twitter_helper.rb
index 1081c05..a5e7ae4 100644
--- a/app/helpers/twitter_helper.rb
+++ b/app/helpers/twitter_helper.rb
@@ -15,11 +15,43 @@ module TwitterHelper
Rails.application.secrets.twitter['twitter_handle']
end
+ def twitter_user_info
+ $twitter_user_info ||= []
+ end
+
def twitter_name
- twitter_client.user(twitter_handle).name
+ if twitter_user_info[0] == nil
+ update_twitter_info
+ else
+ if Time.now > twitter_user_info[0] + 15.minutes
+ update_twitter_info
+ end
+ end
+ twitter_user_info[1]
+ end
+
+ def update_twitter_info
+ twitter_user_info[0] = Time.now
+ twitter_user_info[1] = twitter_client.user(twitter_handle).name
+ end
+
+ def twitter_tweets
+ $twitter_tweets ||= []
+ end
+
+ def twitter_timeline
+ if twitter_tweets[0] == nil
+ update_twitter_timeline
+ else
+ if Time.now > twitter_tweets[0] + 15.minutes
+ update_twitter_timeline
+ end
+ end
+ twitter_tweets[1]
end
- def tweets
- twitter_client.user_timeline(twitter_handle).select{ |tweet| tweet.text.start_with?('RT','@')==false}.take(3)
+ def update_twitter_timeline
+ twitter_tweets[0] = Time.now
+ twitter_tweets[1] = twitter_client.user_timeline(twitter_handle).select{ |tweet| tweet.text.start_with?('RT','@')==false}.take(3)
end
end
diff --git a/app/views/twitter/_index.html.erb b/app/views/twitter/_index.html.erb
index 2d17aad..ac10aa4 100644
--- a/app/views/twitter/_index.html.erb
+++ b/app/views/twitter/_index.html.erb
@@ -11,7 +11,7 @@
</div>
<div class="twitter_list">
- <% tweets.each do |e| %>
+ <% twitter_timeline.each do |e| %>
<div class="tweet">
<div class="tweet_text"><%= " #{e.text}" %>
</div>