Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kazuhiko Shiozaki
gitlab-ce
Commits
4a5b7718
Commit
4a5b7718
authored
9 years ago
by
Douwe Maan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Participable doesn't need to know about Mentionable
parent
61d8f961
No related merge requests found
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
16 additions
and
11 deletions
+16
-11
app/models/commit.rb
app/models/commit.rb
+2
-2
app/models/concerns/issuable.rb
app/models/concerns/issuable.rb
+2
-2
app/models/concerns/mentionable.rb
app/models/concerns/mentionable.rb
+6
-0
app/models/concerns/participable.rb
app/models/concerns/participable.rb
+4
-5
app/models/note.rb
app/models/note.rb
+2
-2
No files found.
app/models/commit.rb
View file @
4a5b7718
...
@@ -2,13 +2,13 @@ class Commit
...
@@ -2,13 +2,13 @@ class Commit
extend
ActiveModel
::
Naming
extend
ActiveModel
::
Naming
include
ActiveModel
::
Conversion
include
ActiveModel
::
Conversion
include
Mentionable
include
Participable
include
Participable
include
Mentionable
include
Referable
include
Referable
include
StaticModel
include
StaticModel
attr_mentionable
:safe_message
attr_mentionable
:safe_message
participant
:author
,
:committer
,
:notes
,
:mentioned_users
participant
:author
,
:committer
,
:notes
attr_accessor
:project
attr_accessor
:project
...
...
This diff is collapsed.
Click to expand it.
app/models/concerns/issuable.rb
View file @
4a5b7718
...
@@ -6,8 +6,8 @@
...
@@ -6,8 +6,8 @@
#
#
module
Issuable
module
Issuable
extend
ActiveSupport
::
Concern
extend
ActiveSupport
::
Concern
include
Mentionable
include
Participable
include
Participable
include
Mentionable
included
do
included
do
belongs_to
:author
,
class_name:
"User"
belongs_to
:author
,
class_name:
"User"
...
@@ -47,7 +47,7 @@ module Issuable
...
@@ -47,7 +47,7 @@ module Issuable
prefix:
true
prefix:
true
attr_mentionable
:title
,
:description
attr_mentionable
:title
,
:description
participant
:author
,
:assignee
,
:notes
,
:mentioned_users
participant
:author
,
:assignee
,
:notes
end
end
module
ClassMethods
module
ClassMethods
...
...
This diff is collapsed.
Click to expand it.
app/models/concerns/mentionable.rb
View file @
4a5b7718
...
@@ -20,6 +20,12 @@ module Mentionable
...
@@ -20,6 +20,12 @@ module Mentionable
end
end
end
end
included
do
if
self
<
Participable
participant
->
(
current_user
)
{
mentioned_users
(
current_user
,
load_lazy_references:
false
)
}
end
end
# Returns the text used as the body of a Note when this object is referenced
# Returns the text used as the body of a Note when this object is referenced
#
#
# By default this will be the class name and the result of calling
# By default this will be the class name and the result of calling
...
...
This diff is collapsed.
Click to expand it.
app/models/concerns/participable.rb
View file @
4a5b7718
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
#
#
# # ...
# # ...
#
#
# participant :author, :assignee, :
mentioned_users, :notes
# participant :author, :assignee, :
notes, ->(current_user) { mentioned_users(current_user) }
# end
# end
#
#
# issue = Issue.last
# issue = Issue.last
...
@@ -39,12 +39,11 @@ module Participable
...
@@ -39,12 +39,11 @@ module Participable
# Save result into variable if you are going to reuse it inside same request
# Save result into variable if you are going to reuse it inside same request
def
participants
(
current_user
=
self
.
author
,
project
=
self
.
project
,
load_lazy_references:
true
)
def
participants
(
current_user
=
self
.
author
,
project
=
self
.
project
,
load_lazy_references:
true
)
participants
=
self
.
class
.
participant_attrs
.
flat_map
do
|
attr
|
participants
=
self
.
class
.
participant_attrs
.
flat_map
do
|
attr
|
meth
=
method
(
attr
)
value
=
value
=
if
attr
==
:mentioned_users
if
attr
.
respond_to?
(
:call
)
meth
.
call
(
current_user
,
load_lazy_references:
false
)
instance_exec
(
current_user
,
&
attr
)
else
else
meth
.
call
send
(
attr
)
end
end
participants_for
(
value
,
current_user
,
project
)
participants_for
(
value
,
current_user
,
project
)
...
...
This diff is collapsed.
Click to expand it.
app/models/note.rb
View file @
4a5b7718
...
@@ -22,14 +22,14 @@ require 'carrierwave/orm/activerecord'
...
@@ -22,14 +22,14 @@ require 'carrierwave/orm/activerecord'
require
'file_size_validator'
require
'file_size_validator'
class
Note
<
ActiveRecord
::
Base
class
Note
<
ActiveRecord
::
Base
include
Mentionable
include
Gitlab
::
CurrentSettings
include
Gitlab
::
CurrentSettings
include
Participable
include
Participable
include
Mentionable
default_value_for
:system
,
false
default_value_for
:system
,
false
attr_mentionable
:note
attr_mentionable
:note
participant
:author
,
:mentioned_users
participant
:author
belongs_to
:project
belongs_to
:project
belongs_to
:noteable
,
polymorphic:
true
belongs_to
:noteable
,
polymorphic:
true
...
...
This diff is collapsed.
Click to expand it.
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