Commit ae2233b1149392d63c6fa4ede8a58b7d82d7790c

Authored by Dmitriy Zaporozhets
1 parent 0f2798d4

Improve perfomance by using project.last_activity_at in project_last_activity helper

Showing 2 changed files with 35 additions and 39 deletions   Show diff stats
app/helpers/application_helper.rb
... ... @@ -151,9 +151,8 @@ module ApplicationHelper
151 151 end
152 152  
153 153 def project_last_activity project
154   - activity = project.last_activity
155   - if activity && activity.created_at
156   - time_ago_in_words(activity.created_at) + " ago"
  154 + if project.last_activity_at
  155 + time_ago_in_words(project.last_activity_at) + " ago"
157 156 else
158 157 "Never"
159 158 end
... ...
db/schema.rb
... ... @@ -12,6 +12,7 @@
12 12 # It's strongly recommended to check this file into your version control system.
13 13  
14 14 ActiveRecord::Schema.define(:version => 20130404164628) do
  15 +
15 16 create_table "events", :force => true do |t|
16 17 t.string "target_type"
17 18 t.integer "target_id"
... ... @@ -36,8 +37,8 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
36 37 t.integer "assignee_id"
37 38 t.integer "author_id"
38 39 t.integer "project_id"
39   - t.datetime "created_at", :null => false
40   - t.datetime "updated_at", :null => false
  40 + t.datetime "created_at"
  41 + t.datetime "updated_at"
41 42 t.integer "position", :default => 0
42 43 t.string "branch_name"
43 44 t.text "description"
... ... @@ -54,8 +55,8 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
54 55  
55 56 create_table "keys", :force => true do |t|
56 57 t.integer "user_id"
57   - t.datetime "created_at", :null => false
58   - t.datetime "updated_at", :null => false
  58 + t.datetime "created_at"
  59 + t.datetime "updated_at"
59 60 t.text "key"
60 61 t.string "title"
61 62 t.string "identifier"
... ... @@ -73,8 +74,8 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
73 74 t.integer "author_id"
74 75 t.integer "assignee_id"
75 76 t.string "title"
76   - t.datetime "created_at", :null => false
77   - t.datetime "updated_at", :null => false
  77 + t.datetime "created_at"
  78 + t.datetime "updated_at"
78 79 t.text "st_commits", :limit => 2147483647
79 80 t.text "st_diffs", :limit => 2147483647
80 81 t.integer "milestone_id"
... ... @@ -123,8 +124,8 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
123 124 t.text "note"
124 125 t.string "noteable_type"
125 126 t.integer "author_id"
126   - t.datetime "created_at", :null => false
127   - t.datetime "updated_at", :null => false
  127 + t.datetime "created_at"
  128 + t.datetime "updated_at"
128 129 t.integer "project_id"
129 130 t.string "attachment"
130 131 t.string "line_code"
... ... @@ -142,8 +143,8 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
142 143 t.string "name"
143 144 t.string "path"
144 145 t.text "description"
145   - t.datetime "created_at", :null => false
146   - t.datetime "updated_at", :null => false
  146 + t.datetime "created_at"
  147 + t.datetime "updated_at"
147 148 t.integer "creator_id"
148 149 t.string "default_branch"
149 150 t.boolean "issues_enabled", :default => true, :null => false
... ... @@ -187,8 +188,8 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
187 188 t.text "content"
188 189 t.integer "author_id", :null => false
189 190 t.integer "project_id", :null => false
190   - t.datetime "created_at", :null => false
191   - t.datetime "updated_at", :null => false
  191 + t.datetime "created_at"
  192 + t.datetime "updated_at"
192 193 t.string "file_name"
193 194 t.datetime "expires_at"
194 195 end
... ... @@ -207,9 +208,6 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
207 208 t.datetime "created_at"
208 209 end
209 210  
210   - add_index "taggings", ["tag_id"], :name => "index_taggings_on_tag_id"
211   - add_index "taggings", ["taggable_id", "taggable_type", "context"], :name => "index_taggings_on_taggable_id_and_taggable_type_and_context"
212   -
213 211 create_table "tags", :force => true do |t|
214 212 t.string "name"
215 213 end
... ... @@ -241,42 +239,41 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
241 239 end
242 240  
243 241 create_table "users", :force => true do |t|
244   - t.string "email", :default => "", :null => false
245   - t.string "encrypted_password", :default => "", :null => false
  242 + t.string "email", :default => "", :null => false
  243 + t.string "encrypted_password", :limit => 128, :default => "", :null => false
246 244 t.string "reset_password_token"
247 245 t.datetime "reset_password_sent_at"
248 246 t.datetime "remember_created_at"
249   - t.integer "sign_in_count", :default => 0
  247 + t.integer "sign_in_count", :default => 0
250 248 t.datetime "current_sign_in_at"
251 249 t.datetime "last_sign_in_at"
252 250 t.string "current_sign_in_ip"
253 251 t.string "last_sign_in_ip"
254   - t.datetime "created_at", :null => false
255   - t.datetime "updated_at", :null => false
  252 + t.datetime "created_at"
  253 + t.datetime "updated_at"
256 254 t.string "name"
257   - t.boolean "admin", :default => false, :null => false
258   - t.integer "projects_limit", :default => 10
259   - t.string "skype", :default => "", :null => false
260   - t.string "linkedin", :default => "", :null => false
261   - t.string "twitter", :default => "", :null => false
  255 + t.boolean "admin", :default => false, :null => false
  256 + t.integer "projects_limit", :default => 10
  257 + t.string "skype", :default => "", :null => false
  258 + t.string "linkedin", :default => "", :null => false
  259 + t.string "twitter", :default => "", :null => false
262 260 t.string "authentication_token"
263   - t.integer "theme_id", :default => 1, :null => false
  261 + t.integer "theme_id", :default => 1, :null => false
264 262 t.string "bio"
265   - t.integer "failed_attempts", :default => 0
  263 + t.integer "failed_attempts", :default => 0
266 264 t.datetime "locked_at"
267 265 t.string "extern_uid"
268 266 t.string "provider"
269 267 t.string "username"
270   - t.boolean "can_create_group", :default => true, :null => false
271   - t.boolean "can_create_team", :default => true, :null => false
  268 + t.boolean "can_create_group", :default => true, :null => false
  269 + t.boolean "can_create_team", :default => true, :null => false
272 270 t.string "state"
273   - t.integer "color_scheme_id", :default => 1, :null => false
274   - t.integer "notification_level", :default => 1, :null => false
  271 + t.integer "color_scheme_id", :default => 1, :null => false
  272 + t.integer "notification_level", :default => 1, :null => false
275 273 end
276 274  
277 275 add_index "users", ["admin"], :name => "index_users_on_admin"
278 276 add_index "users", ["email"], :name => "index_users_on_email", :unique => true
279   - add_index "users", ["extern_uid", "provider"], :name => "index_users_on_extern_uid_and_provider", :unique => true
280 277 add_index "users", ["name"], :name => "index_users_on_name"
281 278 add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
282 279 add_index "users", ["username"], :name => "index_users_on_username"
... ... @@ -284,8 +281,8 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
284 281 create_table "users_projects", :force => true do |t|
285 282 t.integer "user_id", :null => false
286 283 t.integer "project_id", :null => false
287   - t.datetime "created_at", :null => false
288   - t.datetime "updated_at", :null => false
  284 + t.datetime "created_at"
  285 + t.datetime "updated_at"
289 286 t.integer "project_access", :default => 0, :null => false
290 287 t.integer "notification_level", :default => 3, :null => false
291 288 end
... ... @@ -297,8 +294,8 @@ ActiveRecord::Schema.define(:version => 20130404164628) do
297 294 create_table "web_hooks", :force => true do |t|
298 295 t.string "url"
299 296 t.integer "project_id"
300   - t.datetime "created_at", :null => false
301   - t.datetime "updated_at", :null => false
  297 + t.datetime "created_at"
  298 + t.datetime "updated_at"
302 299 t.string "type", :default => "ProjectHook"
303 300 t.integer "service_id"
304 301 end
... ...