diff options
-rw-r--r-- | app/assets/stylesheets/twitter.scss | 8 | ||||
-rw-r--r-- | app/helpers/twitter_helper.rb | 39 | ||||
-rw-r--r-- | app/views/twitter/_index.html.erb | 41 |
3 files changed, 42 insertions, 46 deletions
diff --git a/app/assets/stylesheets/twitter.scss b/app/assets/stylesheets/twitter.scss index b2481db..b2233d0 100644 --- a/app/assets/stylesheets/twitter.scss +++ b/app/assets/stylesheets/twitter.scss @@ -13,7 +13,7 @@ position: absolute; } -.twitter_pic { +.twitter_image_frame { display: block; width: 40px; height: 40px; @@ -23,12 +23,6 @@ top: 0; } -.twitter_image_frame { - width: 40px; - height: 40px; - overflow: hidden - } - .twitter_image_frame > img { display: block; position: absolute; diff --git a/app/helpers/twitter_helper.rb b/app/helpers/twitter_helper.rb index fd3f82c..0b8f79c 100644 --- a/app/helpers/twitter_helper.rb +++ b/app/helpers/twitter_helper.rb @@ -16,31 +16,42 @@ module TwitterHelper end def twitter_user_info - $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 + def twitter_name if twitter_user_info[0] == nil update_twitter_info else - if Time.now > twitter_user_info[0] + 15.minutes + if Time.now > twitter_user_info[0] + 120.minutes update_twitter_info end end - twitter_user_info + twitter_user_info[1] end - def twitter_name - cached_info[1] + 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 - cached_info[2] + 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 2cba033..41fbf26 100644 --- a/app/views/twitter/_index.html.erb +++ b/app/views/twitter/_index.html.erb @@ -1,37 +1,28 @@ <% if twitter_enabled == true %> <div class="twitter"> - <div class="twitter_header"> - <div class="twitter_id"> - <div class="twitter_pic twitter_image_frame"><%= image_tag("Twitter_Logo_White_On_Blue.png") %></div> + <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> </div> - </div> - - <!-- <div class="twitter_header"> - <p>These are the most recent tweets by <%= twitter_name%></p> - <div class="twitter_id"> - <div class="twitter_pic twitter_image_frame"><%= image_tag("Twitter_Logo_White_On_Blue.png") %></div> - <div class="twitter_name"><a href="https://twitter.com/loadtocode">@<%= twitter_handle %></a></div> - </div> - </div> --> + <div class="twitter_list"> + <% twitter_timeline.each do |e| %> + <div class="tweet"> + <div class="tweet_text"><%= " #{e.text}" %> + </div> - <div class="twitter_list"> - <% tweets.each do |e| %> - <div class="tweet"> - <div class="tweet_text"><%= " #{e.text}" %> - </div> + <div class="tweet_text_date">tweeted on <% t = e.created_at%> <%= t.strftime("%m/%d/%y").to_s %> + </div> - <div class="tweet_text_date">tweeted on <% t = e.created_at%> <%= t.strftime("%m/%d/%y").to_s %> </div> + <% end %> + </div> - </div> - <% end %> - </div> - - <div class="twitter_footer"> - <p>This feed uses a Ruby interface to access the Twitter API. Within LEAP Twitter does not track you.</p> - </div> + <div class="twitter_footer"> + <p>This feed uses a Ruby interface to access the Twitter API. Within LEAP Twitter does not track you.</p> + </div> </div> <% end %> |