summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorluca-marie <ml.kochsiek@fu-berlin.de>2016-09-22 14:36:10 +0200
committerluca-marie <ml.kochsiek@fu-berlin.de>2016-09-22 14:36:10 +0200
commit306b36c045cd62638db179115ed002c6ab7c5cd8 (patch)
tree8b8c8ba20403878458458ee3195cd649ab2d5718 /app
parentd72c87cb94213c9a507596f2103773969d1cbd30 (diff)
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
Diffstat (limited to 'app')
-rw-r--r--app/assets/images/Avatar_Pic.png (renamed from app/assets/images/Twitter_Logo_Blue.png)bin4298 -> 4298 bytes
-rw-r--r--app/assets/stylesheets/twitter.scss1
-rw-r--r--app/helpers/twitter_helper.rb28
-rw-r--r--app/views/twitter/_index.html.erb19
4 files changed, 39 insertions, 9 deletions
diff --git a/app/assets/images/Twitter_Logo_Blue.png b/app/assets/images/Avatar_Pic.png
index b5eebc8..b5eebc8 100644
--- a/app/assets/images/Twitter_Logo_Blue.png
+++ b/app/assets/images/Avatar_Pic.png
Binary files 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 @@
<div class="twitter_header">
<div class="twitter_id">
- <div class="twitter_image_frame"><%= image_tag("Twitter_Logo_Blue.png") %></div>
- <div class="twitter_name"><%= twitter_name%><br><a href="https://twitter.com/loadtocode">@<%= twitter_handle %></a></div>
+ <div class="twitter_image_frame"><%= image_tag("Avatar_Pic.png") %></div>
+ <div class="twitter_name"><%= twitter_name%><br><a href="https://twitter.com/<%= twitter_handle %>">@<%= twitter_handle %></a></div>
</div>
</div>
<div class="twitter_list">
- <% tweets.each do |e| %>
- <div class="tweet">
- <div class="tweet_text"><%= " #{e.text}" %>
+ <%if tweets == [] then%><%= error_message %><% end %>
+ <% tweets.each do |e| %>
+ <div class="tweet">
+ <div class="tweet_text"><%= sanitize(e.text) %>
+ </div>
+ <div class="tweet_text_date">tweeted on <% t = e.created_at%> <%= t.strftime("%m/%d/%y").to_s %>
+ </div>
</div>
- <div class="tweet_text_date">tweeted on <% t = e.created_at%> <%= t.strftime("%m/%d/%y").to_s %>
- </div>
- </div>
- <% end %>
+ <% end %>
</div>
<div class="twitter_footer">