Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
D
diaspora
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
diasporg
diaspora
Commits
97b8045f
Commit
97b8045f
authored
Dec 16, 2011
by
danielgrippi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added counter cache for photos on StatusMessage
parent
0929f153
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
35 additions
and
3 deletions
+35
-3
Gemfile.lock
Gemfile.lock
+5
-0
app/models/photo.rb
app/models/photo.rb
+6
-1
app/models/status_message.rb
app/models/status_message.rb
+6
-1
db/migrate/20110911213207_counter_cache_on_post_comments.rb
db/migrate/20110911213207_counter_cache_on_post_comments.rb
+1
-0
db/migrate/20111217042006_add_photo_counter_cache_to_post.rb
db/migrate/20111217042006_add_photo_counter_cache_to_post.rb
+15
-0
db/schema.rb
db/schema.rb
+2
-1
No files found.
Gemfile.lock
View file @
97b8045f
...
...
@@ -128,6 +128,7 @@ GEM
uuidtools
childprocess (0.2.3)
ffi (~> 1.0.6)
chronic (0.6.6)
client_side_validations (3.1.3)
cloudfiles (1.4.10)
mime-types (>= 1.16)
...
...
@@ -424,6 +425,9 @@ GEM
webmock (1.6.2)
addressable (>= 2.2.2)
crack (>= 0.1.7)
whenever (0.7.0)
activesupport (>= 2.3.4)
chronic (~> 0.6.3)
will_paginate (3.0.2)
xpath (0.1.4)
nokogiri (~> 1.3)
...
...
@@ -515,5 +519,6 @@ DEPENDENCIES
typhoeus
vanna!
webmock
whenever
will_paginate (= 3.0.2)
yard
app/models/photo.rb
View file @
97b8045f
...
...
@@ -17,15 +17,20 @@ class Photo < ActiveRecord::Base
xml_attr
:text
xml_attr
:status_message_guid
belongs_to
:status_message
,
:foreign_key
=>
:status_message_guid
,
:primary_key
=>
:guid
belongs_to
:status_message
,
:foreign_key
=>
:status_message_guid
,
:primary_key
=>
:guid
,
:counter_cache
=>
:photos_count
attr_accessible
:text
,
:pending
validate
:ownership_of_status_message
before_destroy
:ensure_user_picture
after_destroy
:clear_empty_status_message
after_create
:queue_processing_job
after_save
do
self
.
status_message
.
update_photos_counter
if
status_message
end
def
clear_empty_status_message
if
self
.
status_message_guid
&&
self
.
status_message
.
text_and_photos_blank?
self
.
status_message
.
destroy
...
...
app/models/status_message.rb
View file @
97b8045f
...
...
@@ -178,13 +178,18 @@ class StatusMessage < Post
def
queue_gather_oembed_data
Resque
.
enqueue
(
Jobs
::
GatherOEmbedData
,
self
.
id
,
self
.
oembed_url
)
end
def
contains_oembed_url_in_text?
require
'uri'
urls
=
URI
.
extract
(
self
.
raw_message
,
[
'http'
,
'https'
])
self
.
oembed_url
=
urls
.
find
{
|
url
|
ENDPOINT_HOSTS_STRING
.
match
(
URI
.
parse
(
url
).
host
)}
end
def
update_photos_counter
StatusMessage
.
where
(
:id
=>
self
.
id
).
update_all
(
:photos_count
=>
self
.
photos
.
count
)
end
protected
def
presence_of_content
if
text_and_photos_blank?
...
...
db/migrate/20110911213207_counter_cache_on_post_comments.rb
.rb
→
db/migrate/20110911213207_counter_cache_on_post_comments.rb
View file @
97b8045f
class
CounterCacheOnPostComments
<
ActiveRecord
::
Migration
class
Post
<
ActiveRecord
::
Base
;
end
def
self
.
up
add_column
:posts
,
:comments_count
,
:integer
,
:default
=>
0
execute
<<
SQL
if
Post
.
count
>
0
...
...
db/migrate/20111217042006_add_photo_counter_cache_to_post.rb
0 → 100644
View file @
97b8045f
class
AddPhotoCounterCacheToPost
<
ActiveRecord
::
Migration
class
Post
<
ActiveRecord
::
Base
;
end
def
self
.
up
add_column
:posts
,
:photos_count
,
:integer
,
:default
=>
0
execute
<<
SQL
if
Post
.
count
>
0
UPDATE posts
SET photos_count = (SELECT COUNT(*) FROM photos WHERE photos.status_message_guid = posts.guid)
SQL
end
def
self
.
down
remove_column
:posts
,
:photos_count
end
end
db/schema.rb
View file @
97b8045f
...
...
@@ -10,7 +10,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord
::
Schema
.
define
(
:version
=>
201112
07233503
)
do
ActiveRecord
::
Schema
.
define
(
:version
=>
201112
17042006
)
do
create_table
"account_deletions"
,
:force
=>
true
do
|
t
|
t
.
string
"diaspora_handle"
...
...
@@ -314,6 +314,7 @@ ActiveRecord::Schema.define(:version => 20111207233503) do
t
.
integer
"likes_count"
,
:default
=>
0
t
.
integer
"comments_count"
,
:default
=>
0
t
.
integer
"o_embed_cache_id"
t
.
integer
"photos_count"
,
:default
=>
0
end
add_index
"posts"
,
[
"author_id"
,
"root_guid"
],
:name
=>
"index_posts_on_author_id_and_root_guid"
,
:unique
=>
true
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment