aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorre4k <re4k@re4k.info>2013-03-19 01:47:22 +0900
committerre4k <re4k@re4k.info>2013-03-19 01:48:52 +0900
commit5227f1b8c7dae086d14a5b6f8251ac63fec93c44 (patch)
tree726937a8b0cae476ea21943cc57ea7f6fd6db3ea /app
parent98e49ee3308759913477338be95ca07b781355f0 (diff)
downloadaclog-5227f1b8c7dae086d14a5b6f8251ac63fec93c44.tar.gz
Minor changes
Diffstat (limited to 'app')
-rw-r--r--app/controllers/application_controller.rb14
-rw-r--r--app/controllers/i_controller.rb10
-rw-r--r--app/controllers/users_controller.rb27
-rw-r--r--app/helpers/application_helper.rb32
-rw-r--r--app/helpers/errors_helper.rb2
-rw-r--r--app/helpers/i_helper.rb2
-rw-r--r--app/helpers/main_helper.rb2
-rw-r--r--app/helpers/sessions_helper.rb2
-rw-r--r--app/helpers/users_helper.rb2
-rw-r--r--app/views/shared/_tweet.haml25
-rw-r--r--app/views/shared/_tweets.haml2
-rw-r--r--app/views/users/info.haml6
12 files changed, 50 insertions, 76 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index ef1614f..9157caa 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -19,13 +19,13 @@ class ApplicationController < ActionController::Base
def prepare_cache
# check
- return unless @items
+ #return unless @items
- @favorite_cache = Favorite.where(@items.map{|m| "tweet_id = #{m.id}"}.join(" OR ")).sort_by{|m| m.id}.group_by{|m| m.tweet_id}
- @retweet_cache = Retweet.where(@items.map{|m| "tweet_id = #{m.id}"}.join(" OR ")).sort_by{|m| m.id}.group_by{|m| m.tweet_id}
- @user_cache = Hash[User.where(
- (@items.to_a + @favorite_cache.values + @retweet_cache.values).flatten.map{|m| m.user_id}.uniq
- .map{|m| "id = #{m}"}.join(" OR "))
- .map{|m| [m.id, m]}]
+ #@favorite_cache = Favorite.where(@items.map{|m| "tweet_id = #{m.id}"}.join(" OR ")).sort_by{|m| m.id}.group_by{|m| m.tweet_id}
+ #@retweet_cache = Retweet.where(@items.map{|m| "tweet_id = #{m.id}"}.join(" OR ")).sort_by{|m| m.id}.group_by{|m| m.tweet_id}
+ #@user_cache = Hash[User.where(
+ # (@items.to_a + @favorite_cache.values + @retweet_cache.values).flatten.map{|m| m.user_id}.uniq
+ # .map{|m| "id = #{m}"}.join(" OR "))
+ # .map{|m| [m.id, m]}]
end
end
diff --git a/app/controllers/i_controller.rb b/app/controllers/i_controller.rb
index 42b7111..74a1701 100644
--- a/app/controllers/i_controller.rb
+++ b/app/controllers/i_controller.rb
@@ -1,8 +1,12 @@
class IController < ApplicationController
def show
id = params[:id].to_i
- @items = Tweet.where(:id => id).page(1)
- prepare_cache
- @title = "\"#{ApplicationController.helpers.strip_tags(ApplicationController.helpers.format_tweet_text(@items.first.text))[0...30]}\" from @#{@user_cache[@items.first.user_id].screen_name}"
+ items = Tweet.where(:id => id)
+ if items.count > 0
+ @items = items.page(1)
+ @title = "\"#{ApplicationController.helpers.strip_tags(ApplicationController.helpers.format_tweet_text(items.first.text))[0...30]}\" from @#{items.first.user.screen_name}"
+ else
+ @items = []
+ end
end
end
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 4fe7b86..670c1c6 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -2,10 +2,10 @@ class UsersController < ApplicationController
def best
page = get_page_number(params)
screen_name = params[:screen_name]
- user = User.find_by(:screen_name => screen_name)
+ user = User.where(:screen_name => screen_name).first
if user
@items = user.tweets
- .where("favorites_count > 0 or retweets_count > 0")
+ .where("favorites_count > 0 OR retweets_count > 0")
.order("COALESCE(favorites_count, 0) + COALESCE(retweets_count, 0) DESC")
.page(page)
.per(Settings.page_per)
@@ -13,30 +13,28 @@ class UsersController < ApplicationController
@items = []
end
@title = "@#{screen_name}'s Best Tweets"
- prepare_cache
end
def recent
page = get_page_number(params)
screen_name = params[:screen_name]
- user = User.find_by(:screen_name => screen_name)
+ user = User.where(:screen_name => screen_name).first
if user
@items = user.tweets
- .where("favorites_count > 0 or retweets_count > 0")
+ .where("favorites_count > 0 OR retweets_count > 0")
.order("id DESC")
.page(page)
.per(Settings.page_per)
else
@items = []
end
- @title = "@#{screen_name}'s Newest Tweets"
- prepare_cache
+ @title = "@#{screen_name}'s Newest Favorited Tweets"
end
def timeline
page = get_page_number(params)
screen_name = params[:screen_name]
- user = User.find_by(:screen_name => screen_name)
+ user = User.where(:screen_name => screen_name).first
if user
@items = user.tweets
.order("id DESC")
@@ -46,13 +44,12 @@ class UsersController < ApplicationController
@items = []
end
@title = "@#{screen_name}'s Newest Tweets"
- prepare_cache
end
def my
page = get_page_number(params)
screen_name = params[:screen_name]
- user = User.find_by(:screen_name => screen_name)
+ user = User.where(:screen_name => screen_name).first
if user
@items = Tweet
.where("id IN (SELECT tweet_id FROM (" +
@@ -73,9 +70,13 @@ class UsersController < ApplicationController
def info
screen_name = params[:screen_name]
- user = User.find_by(:screen_name => screen_name)
- if user && account = Account.find_by(:id => user.id)
- @info = get_user_info
+ user = User.where(:screen_name => screen_name).first
+ if user
+ @tweets_count = user.tweets.count
+ @favorites_count = user.favorites.count
+ @retweets_count = user.retweets.count
+ @favorited_count = user.tweets.inject(0){|s, m| s + m.favorites_count}
+ @retweeted_count = user.tweets.inject(0){|s, m| s + m.retweets_count}
else
@info = nil
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 93f7063..a41f15d 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -18,37 +18,7 @@ module ApplicationHelper
format_tweet_text(text)
end
- def status_url(tweet)
- "/#{u(tweet).screen_name}/status/#{tweet.id}"
- end
-
def twitter_status_url(tweet)
- "https://twitter.com/#{u(tweet).screen_name}/status/#{tweet.id}"
- end
-
- def user_url(object)
- "/#{u(object).screen_name}"
- end
-
- def u(object)
- if object.is_a?(Tweet) ||
- object.is_a?(Favorite) ||
- object.is_a?(Retweet) ||
- object.is_a?(Account)
- u(object.user_id)
- elsif object.is_a?(User)
- object
- elsif object.is_a?(Fixnum) ||
- object.is_a?(Bignum)
- @user_cache[object] || User.new(object)
- end
- end
-
- def favoriters(item)
- (@favorite_cache[item.id] || []).map{|m| u(m)}
- end
-
- def retweeters(item)
- (@retweet_cache[item.id] || []).map{|m| u(m)}
+ "https://twitter.com/#{tweet.user.screen_name}/status/#{tweet.id}"
end
end
diff --git a/app/helpers/errors_helper.rb b/app/helpers/errors_helper.rb
deleted file mode 100644
index 8e3b415..0000000
--- a/app/helpers/errors_helper.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-module ErrorsHelper
-end
diff --git a/app/helpers/i_helper.rb b/app/helpers/i_helper.rb
deleted file mode 100644
index ef8bff0..0000000
--- a/app/helpers/i_helper.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-module IHelper
-end
diff --git a/app/helpers/main_helper.rb b/app/helpers/main_helper.rb
deleted file mode 100644
index 826effe..0000000
--- a/app/helpers/main_helper.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-module MainHelper
-end
diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb
deleted file mode 100644
index 309f8b2..0000000
--- a/app/helpers/sessions_helper.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-module SessionsHelper
-end
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
deleted file mode 100644
index 2310a24..0000000
--- a/app/helpers/users_helper.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-module UsersHelper
-end
diff --git a/app/views/shared/_tweet.haml b/app/views/shared/_tweet.haml
index d4edec6..8576466 100644
--- a/app/views/shared/_tweet.haml
+++ b/app/views/shared/_tweet.haml
@@ -1,31 +1,36 @@
.item
.tweet
.avatar
- - user = u(item)
- = link_to image_tag(user.profile_image_url), user_url(user), :title => user.name
+ = link_to image_tag(item.user.profile_image_url, :alt => item.user.screen_name, :title => item.user.name), :controller => "users", :action => "best", :screen_name => item.user.screen_name
.tweet_content_fix
.tweet_content
.user
%span.name
- = link_to user.name, user_url(user)
+ = link_to item.user.name, :controller => "users", :action => "best", :screen_name => item.user.screen_name
%span.screen_name
- = link_to "@#{user.screen_name}", user_url(user)
+ = link_to "@#{item.user.screen_name}", :controller => "users", :action => "best", :screen_name => item.user.screen_name
.text
= raw format_tweet_text(item.text)
.meta.clearfix
- = link_to image_tag("bird_gray_16.png"), twitter_status_url(item), :target => "_blank", :class => "twitter_bird"
- = link_to format_tweet_created_at(item.tweeted_at), status_url(item), :class => "created_at"
+ %span.twitter_bird
+ = link_to image_tag("bird_gray_16.png", :alt => "Twitter"), twitter_status_url(item), :target => "_blank"
+ %span.created_at
+ = link_to format_tweet_created_at(item.tweeted_at), :controller => "i", :action => "show", :id => item.id
%span.source
= raw format_source_text(item.source)
.stats
- - [["FAVS", favoriters(item), "favs"], ["RETWEETS", retweeters(item), "retweets"]].each do |type, users, cssclass|
+ - [["FAVS", item.favorites, "favs"], ["RETWEETS", item.retweets, "retweets"]].select{|m| m[1].size > 0}.each do |type, actions, cssclass|
%div{:class => "#{cssclass} clearfix"}
.info
- %span.count= users.size
+ %span.count= actions.size
%span.type= type
.height_fix
%ul.favoriters.clearfix
- - users.each do |m|
+ - actions.take(params[:controller] == "i" && params[:action] == "show" ? actions.size : 20).each do |a| |
+ - m = a.user || User.new
%li
- = link_to image_tag(m.profile_image_url), user_url(m), :title => m.name
+ - if m.screen_name
+ = link_to image_tag(m.profile_image_url, :alt => m.screen_name, :title => m.name), :controller => "users", :action => "best", :screen_name => m.screen_name
+ - else
+ = image_tag(m.profile_image_url, :alt => m.name, :title => m.name)
diff --git a/app/views/shared/_tweets.haml b/app/views/shared/_tweets.haml
index 7dfb14b..681b9cc 100644
--- a/app/views/shared/_tweets.haml
+++ b/app/views/shared/_tweets.haml
@@ -1,4 +1,4 @@
.items
- = render :partial => "shared/tweet", :collection => items, :as => :item
+ = render :partial => "shared/tweet", :collection => items, :as => :item, :local => {:showallusers => @showallusers}
- if items.size > 0
= paginate items
diff --git a/app/views/users/info.haml b/app/views/users/info.haml
index 2672287..e29c41a 100644
--- a/app/views/users/info.haml
+++ b/app/views/users/info.haml
@@ -1 +1,5 @@
-= render :partial => "shared/tweets", :locals => {:items => @items}
+= @tweets_count
+= @favorites_count
+= @retweets_count
+= @favorited_count
+= @retweeted_count