Skip to content
GitLab
Explorer
Connexion
S'inscrire
Navigation principale
Rechercher ou aller à…
Projet
P
parlote-facil
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Extraits de code
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de paquets
Registre de conteneur
Registre de modèles
Opération
Environnements
Modules Terraform
Surveillance
Incidents
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
facil
parlote-facil
Validations
6d105e5c
Valider
6d105e5c
rédigé
il y a 13 ans
par
Raphael Sofaer
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
Don't n query in UsersController#public
parent
243699c8
Aucune branche associée trouvée
Branches contenant la validation
Aucune étiquette associée trouvée
Étiquettes contenant la validation
Aucune requête de fusion associée trouvée
Modifications
3
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
3 fichiers modifiés
app/models/status_message.rb
+4
-3
4 ajouts, 3 suppressions
app/models/status_message.rb
lib/diaspora/ostatus_builder.rb
+1
-5
1 ajout, 5 suppressions
lib/diaspora/ostatus_builder.rb
spec/lib/diaspora/ostatus_builder_spec.rb
+26
-15
26 ajouts, 15 suppressions
spec/lib/diaspora/ostatus_builder_spec.rb
avec
31 ajouts
et
23 suppressions
app/models/status_message.rb
+
4
−
3
Voir le fichier @
6d105e5c
...
@@ -93,13 +93,14 @@ class StatusMessage < Post
...
@@ -93,13 +93,14 @@ class StatusMessage < Post
identifiers
.
empty?
?
[]
:
Person
.
where
(
:diaspora_handle
=>
identifiers
)
identifiers
.
empty?
?
[]
:
Person
.
where
(
:diaspora_handle
=>
identifiers
)
end
end
def
to_activity
def
to_activity
(
opts
=
{})
author
=
opts
[
:author
]
||
self
.
author
#Use an already loaded author if passed in.
<<-
XML
<<-
XML
<entry>
<entry>
<title>
#{
x
(
self
.
formatted_message
(
:plain_text
=>
true
))
}
</title>
<title>
#{
x
(
self
.
formatted_message
(
:plain_text
=>
true
))
}
</title>
<content>
#{
x
(
self
.
formatted_message
(
:plain_text
=>
true
))
}
</content>
<content>
#{
x
(
self
.
formatted_message
(
:plain_text
=>
true
))
}
</content>
<link rel="alternate" type="text/html" href="
#{
self
.
author
.
url
}
p/
#{
self
.
id
}
"/>
<link rel="alternate" type="text/html" href="
#{
author
.
url
}
p/
#{
self
.
id
}
"/>
<id>
#{
self
.
author
.
url
}
p/
#{
self
.
id
}
</id>
<id>
#{
author
.
url
}
p/
#{
self
.
id
}
</id>
<published>
#{
self
.
created_at
.
xmlschema
}
</published>
<published>
#{
self
.
created_at
.
xmlschema
}
</published>
<updated>
#{
self
.
updated_at
.
xmlschema
}
</updated>
<updated>
#{
self
.
updated_at
.
xmlschema
}
</updated>
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
lib/diaspora/ostatus_builder.rb
+
1
−
5
Voir le fichier @
6d105e5c
...
@@ -63,11 +63,7 @@ module Diaspora
...
@@ -63,11 +63,7 @@ module Diaspora
def
create_body
def
create_body
@posts
.
inject
(
""
)
do
|
xml
,
curr
|
@posts
.
inject
(
""
)
do
|
xml
,
curr
|
if
curr
.
respond_to?
(
:to_activity
)
if
curr
.
respond_to?
(
:to_activity
)
unless
xml
xml
+
curr
.
to_activity
(
:author
=>
@user
.
person
)
curr
.
to_activity
else
xml
+
curr
.
to_activity
end
else
else
xml
xml
end
end
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
spec/lib/diaspora/ostatus_builder_spec.rb
+
26
−
15
Voir le fichier @
6d105e5c
...
@@ -8,32 +8,43 @@ require File.join(Rails.root, 'lib/diaspora/ostatus_builder')
...
@@ -8,32 +8,43 @@ require File.join(Rails.root, 'lib/diaspora/ostatus_builder')
describe
Diaspora
::
OstatusBuilder
do
describe
Diaspora
::
OstatusBuilder
do
let!
(
:user
)
{
alice
}
before
do
let
(
:aspect
)
{
user
.
aspects
.
first
}
@aspect
=
alice
.
aspects
.
first
let!
(
:public_status_messages
)
{
@public_status_messages
=
3
.
times
.
inject
([])
do
|
arr
,
n
|
3
.
times
.
inject
([])
do
|
arr
,
n
|
s
=
alice
.
post
(
:status_message
,
:text
=>
"hey
#{
n
}
"
,
:public
=>
true
,
:to
=>
@aspect
.
id
)
s
=
user
.
post
(
:status_message
,
:text
=>
"hey
#{
n
}
"
,
:public
=>
true
,
:to
=>
aspect
.
id
)
arr
<<
s
arr
<<
s
end
end
}
let!
(
:private_status_messages
)
{
@private_status_messages
=
3
.
times
.
inject
([])
do
|
arr
,
n
|
3
.
times
.
inject
([])
do
|
arr
,
n
|
s
=
alice
.
post
(
:status_message
,
:text
=>
"secret_ney
#{
n
}
"
,
:public
=>
false
,
:to
=>
@aspect
.
id
)
s
=
user
.
post
(
:status_message
,
:text
=>
"secret_ney
#{
n
}
"
,
:public
=>
false
,
:to
=>
aspect
.
id
)
arr
<<
s
arr
<<
s
end
end
}
let!
(
:atom
)
{
director
=
Diaspora
::
Director
.
new
;
director
.
build
(
Diaspora
::
OstatusBuilder
.
new
(
user
,
public_status_messages
))
}
director
=
Diaspora
::
Director
.
new
;
@atom
=
director
.
build
(
Diaspora
::
OstatusBuilder
.
new
(
alice
,
@public_status_messages
))
end
it
'should include a users posts'
do
it
'should include a users posts'
do
public_status_messages
.
each
{
|
status
|
atom
.
should
include
status
.
text
}
@
public_status_messages
.
each
{
|
status
|
@
atom
.
should
include
status
.
text
}
end
end
it
'should iterate through all objects, and not stop if it runs into a post without a to_activity'
do
it
'should iterate through all objects, and not stop if it runs into a post without a to_activity'
do
messages
=
public_status_messages
.
collect
{
|
x
|
x
.
text
}
messages
=
@
public_status_messages
.
collect
{
|
x
|
x
.
text
}
public_status_messages
.
insert
(
1
,
[])
@
public_status_messages
.
insert
(
1
,
[])
director
=
Diaspora
::
Director
.
new
;
director
=
Diaspora
::
Director
.
new
;
atom2
=
director
.
build
(
Diaspora
::
OstatusBuilder
.
new
(
user
,
public_status_messages
))
atom2
=
director
.
build
(
Diaspora
::
OstatusBuilder
.
new
(
alice
,
@
public_status_messages
))
messages
.
each
{
|
message
|
atom2
.
should
include
message
}
messages
.
each
{
|
message
|
atom2
.
should
include
message
}
end
end
include
Oink
::
InstanceTypeCounter
it
'does not query the db for the author of every post'
do
alice
.
person
#Preload user.person
ActiveRecord
::
Base
.
reset_instance_type_count
director
=
Diaspora
::
Director
.
new
messages
=
StatusMessage
.
where
(
:author_id
=>
alice
.
person
.
id
,
:public
=>
true
)
builder
=
Diaspora
::
OstatusBuilder
.
new
(
alice
,
messages
)
director
.
build
(
builder
)
report_hash
[
"Person"
].
should
be_nil
#No people should have been instantiated
end
end
end
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter