From 306b36c045cd62638db179115ed002c6ab7c5cd8 Mon Sep 17 00:00:00 2001 From: luca-marie Date: Thu, 22 Sep 2016 14:36:10 +0200 Subject: included Theas work on error-handling \o/; changed link to twitter-account in header; fixed erb escaping characters problem without letting evil code pass; setting customized image file 'Avatar_Pic.png' in config/custo../assets to get loaded instead of default twitter-logo --- app/assets/images/Avatar_Pic.png | Bin 0 -> 4298 bytes app/assets/images/Twitter_Logo_Blue.png | Bin 4298 -> 0 bytes app/assets/stylesheets/twitter.scss | 1 + app/helpers/twitter_helper.rb | 28 ++++++++++++++++++++++++ app/views/twitter/_index.html.erb | 19 ++++++++-------- config/initializers/assets.rb | 1 + config/initializers/customization.rb | 3 ++- config/initializers/twitter.rb | 37 ++++++++++++++++++++++++++++++++ 8 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 app/assets/images/Avatar_Pic.png delete mode 100644 app/assets/images/Twitter_Logo_Blue.png create mode 100644 config/initializers/assets.rb create mode 100644 config/initializers/twitter.rb diff --git a/app/assets/images/Avatar_Pic.png b/app/assets/images/Avatar_Pic.png new file mode 100644 index 0000000..b5eebc8 Binary files /dev/null and b/app/assets/images/Avatar_Pic.png differ diff --git a/app/assets/images/Twitter_Logo_Blue.png b/app/assets/images/Twitter_Logo_Blue.png deleted file mode 100644 index b5eebc8..0000000 Binary files a/app/assets/images/Twitter_Logo_Blue.png and /dev/null differ diff --git a/app/assets/stylesheets/twitter.scss b/app/assets/stylesheets/twitter.scss index b2233d0..a67c044 100644 --- a/app/assets/stylesheets/twitter.scss +++ b/app/assets/stylesheets/twitter.scss @@ -21,6 +21,7 @@ position: absolute; left: 0; top: 0; + // background-image: url(/Avatar_Pic.png); } .twitter_image_frame > img { diff --git a/app/helpers/twitter_helper.rb b/app/helpers/twitter_helper.rb index f824a03..719f95e 100644 --- a/app/helpers/twitter_helper.rb +++ b/app/helpers/twitter_helper.rb @@ -23,6 +23,30 @@ module TwitterHelper 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) + if twitter_user_info[2] == nil + error_handling + twitter_user_info[3] = "The twitter-handle does not exist or the account is private. Please change it or contact your provider-admin." + end + rescue Twitter::Error::BadRequest + error_handling + twitter_user_info[3] = "The request to have the tweets shown was invalid or cannot be otherwise served." + rescue Twitter::Error::Unauthorized + error_handling + twitter_user_info[3] = "Please change your twitter-credentials, make sure that the twitter-account you access is public or contact your provider-admin to have the tweets shown." + rescue Twitter::Error::Forbidden + error_handling + twitter_user_info[3] = "The request to have the tweets shown is understood, but it has been refused or access is not allowed." + rescue Twitter::Error::NotAcceptable + error_handling + twitter_user_info[3] = "An invalid format is specified in the request to have the tweets shown." + rescue Twitter::Error::TooManyRequests + error_handling + twitter_user_info[3] = "The rate-limit for accessing the tweets is reached. You should be able to see the tweets in a couple of minutes." + end + + def error_handling + twitter_user_info[2] = [] + return twitter_user_info end def cached_info @@ -43,4 +67,8 @@ module TwitterHelper def tweets cached_info[2] end + + def error_message + cached_info[3] + end end diff --git a/app/views/twitter/_index.html.erb b/app/views/twitter/_index.html.erb index a7ebd1b..cdfff4b 100644 --- a/app/views/twitter/_index.html.erb +++ b/app/views/twitter/_index.html.erb @@ -3,20 +3,21 @@
- <% tweets.each do |e| %> -
-
<%= " #{e.text}" %> + <%if tweets == [] then%><%= error_message %><% end %> + <% tweets.each do |e| %> +
+
<%= sanitize(e.text) %> +
+
tweeted on <% t = e.created_at%> <%= t.strftime("%m/%d/%y").to_s %> +
-
tweeted on <% t = e.created_at%> <%= t.strftime("%m/%d/%y").to_s %> -
-
- <% end %> + <% end %>