diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/helpers/twitter_helper.rb | 38 | ||||
-rw-r--r-- | app/views/twitter/_index.html.erb | 2 |
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> |