summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorluca-marie <ml.kochsiek@fu-berlin.de>2016-09-08 18:25:41 +0200
committerluca-marie <ml.kochsiek@fu-berlin.de>2016-09-08 18:25:41 +0200
commit4a09c2df8df3db979049ee8d98b202ad9f2125a8 (patch)
treee7f647888050dffe5153784f67490a3ed35ffccc /app
parent92e7b90d619111fdaaf50ab0b8538c39605fe005 (diff)
Helper has caching of name and tweets included now \o/
Diffstat (limited to 'app')
-rw-r--r--app/helpers/twitter_helper.rb29
1 files changed, 26 insertions, 3 deletions
diff --git a/app/helpers/twitter_helper.rb b/app/helpers/twitter_helper.rb
index 834e5c6..fd3f82c 100644
--- a/app/helpers/twitter_helper.rb
+++ b/app/helpers/twitter_helper.rb
@@ -1,6 +1,8 @@
module TwitterHelper
def twitter_enabled
- Rails.application.secrets.twitter['enabled'] == true
+ if Rails.application.secrets.twitter
+ Rails.application.secrets.twitter['enabled'] == true
+ end
end
def twitter_client
@@ -13,11 +15,32 @@ module TwitterHelper
Rails.application.secrets.twitter['twitter_handle']
end
+ def twitter_user_info
+ $twitter_user_info ||= []
+ end
+
+ def update_twitter_info
+ twitter_user_info[0] = Time.now
+ twitter_user_info[1] = twitter_client.user(twitter_handle).name
+ twitter_user_info[2] = twitter_client.user_timeline(twitter_handle).select{ |tweet| tweet.text.start_with?('RT','@')==false}.take(3)
+ end
+
+ def cached_info
+ 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
+ end
+
def twitter_name
- twitter_client.user(twitter_handle).name
+ cached_info[1]
end
def tweets
- twitter_client.user_timeline(twitter_handle).select{ |tweet| tweet.text.start_with?('RT','@')==false}.take(3)
+ cached_info[2]
end
end