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
iv
gitlab-ce
Commits
a951e6f8
Commit
a951e6f8
authored
Apr 04, 2012
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GitlabSerialize: cause of invalid yaml in some events we migrate to json serialization
parent
8aa5076d
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
36 additions
and
13 deletions
+36
-13
app/models/event.rb
app/models/event.rb
+2
-2
app/models/event/push_trait.rb
app/models/event/push_trait.rb
+16
-10
app/models/gitlab_serialize.rb
app/models/gitlab_serialize.rb
+17
-0
app/views/dashboard/index.html.haml
app/views/dashboard/index.html.haml
+1
-1
No files found.
app/models/event.rb
View file @
a951e6f8
...
@@ -14,7 +14,7 @@ class Event < ActiveRecord::Base
...
@@ -14,7 +14,7 @@ class Event < ActiveRecord::Base
belongs_to
:project
belongs_to
:project
belongs_to
:target
,
:polymorphic
=>
true
belongs_to
:target
,
:polymorphic
=>
true
serialize
:data
serialize
:data
,
GitlabSerialize
.
new
scope
:recent
,
order
(
"created_at DESC"
)
scope
:recent
,
order
(
"created_at DESC"
)
scope
:code_push
,
where
(
:action
=>
Pushed
)
scope
:code_push
,
where
(
:action
=>
Pushed
)
...
@@ -36,7 +36,7 @@ class Event < ActiveRecord::Base
...
@@ -36,7 +36,7 @@ class Event < ActiveRecord::Base
end
end
def
push?
def
push?
action
==
self
.
class
::
Pushed
action
==
self
.
class
::
Pushed
&&
valid_push?
end
end
def
merged?
def
merged?
...
...
app/models/event/push_trait.rb
View file @
a951e6f8
module
Event::PushTrait
module
Event::PushTrait
as_trait
do
as_trait
do
def
valid_push?
data
[
"ref"
]
rescue
=>
ex
false
end
def
tag?
def
tag?
data
[
:ref
][
"refs/tags"
]
data
[
"ref"
][
"refs/tags"
]
end
end
def
new_branch?
def
new_branch?
data
[
:before
]
=~
/^00000/
commit_from
=~
/^00000/
end
end
def
new_ref?
def
new_ref?
data
[
:before
]
=~
/^00000/
commit_from
=~
/^00000/
end
end
def
rm_ref?
def
rm_ref?
data
[
:after
]
=~
/^00000/
commit_to
=~
/^00000/
end
end
def
md_ref?
def
md_ref?
...
@@ -21,11 +27,11 @@ module Event::PushTrait
...
@@ -21,11 +27,11 @@ module Event::PushTrait
end
end
def
commit_from
def
commit_from
data
[
:before
]
data
[
"before"
]
end
end
def
commit_to
def
commit_to
data
[
:after
]
data
[
"after"
]
end
end
def
ref_name
def
ref_name
...
@@ -37,16 +43,16 @@ module Event::PushTrait
...
@@ -37,16 +43,16 @@ module Event::PushTrait
end
end
def
branch_name
def
branch_name
@branch_name
||=
data
[
:ref
].
gsub
(
"refs/heads/"
,
""
)
@branch_name
||=
data
[
"ref"
].
gsub
(
"refs/heads/"
,
""
)
end
end
def
tag_name
def
tag_name
@tag_name
||=
data
[
:ref
].
gsub
(
"refs/tags/"
,
""
)
@tag_name
||=
data
[
"ref"
].
gsub
(
"refs/tags/"
,
""
)
end
end
def
commits
def
commits
@commits
||=
data
[
:commits
].
map
do
|
commit
|
@commits
||=
data
[
"commits"
].
map
do
|
commit
|
project
.
commit
(
commit
[
:id
])
project
.
commit
(
commit
[
"id"
])
end
end
end
end
...
...
app/models/gitlab_serialize.rb
0 → 100644
View file @
a951e6f8
class
GitlabSerialize
# Called to deserialize data to ruby object.
def
load
(
data
)
JSON
.
load
(
data
)
rescue
JSON
::
ParserError
begin
YAML
.
load
(
data
)
rescue
Psych
::
SyntaxError
nil
end
end
# Called to convert from ruby object to serialized data.
def
dump
(
obj
)
JSON
.
dump
(
obj
)
end
end
app/views/dashboard/index.html.haml
View file @
a951e6f8
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
=
link_to
profile_path
,
:class
=>
"btn"
do
=
link_to
profile_path
,
:class
=>
"btn"
do
Your Profile »
Your Profile »
.span10.left
=
render
"dashboard/projects_feed"
,
:projects
=>
@active_projects
.span10.left
=
render
"dashboard/projects_feed"
,
:projects
=>
@active_projects
-
if
@last_push
-
if
@last_push
&&
@last_push
.
valid_push?
.padded.prepend-top-20
.padded.prepend-top-20
%h5
%h5
%small
Latest push was to the
#{
@last_push
.
branch_name
}
branch of
#{
@last_push
.
project
.
name
}
:
%small
Latest push was to the
#{
@last_push
.
branch_name
}
branch of
#{
@last_push
.
project
.
name
}
:
...
...
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