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
1
Merge Requests
1
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
nexedi
gitlab-ce
Commits
d1b763eb
Commit
d1b763eb
authored
Jun 22, 2020
by
allison.browne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move the status helper to ci namespace
CiStatusHelper => ::Ci::StatusHelper
parent
1018045a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
149 additions
and
147 deletions
+149
-147
app/helpers/ci/status_helper.rb
app/helpers/ci/status_helper.rb
+148
-0
app/helpers/ci_status_helper.rb
app/helpers/ci_status_helper.rb
+0
-146
spec/helpers/ci/status_helper_spec.rb
spec/helpers/ci/status_helper_spec.rb
+1
-1
No files found.
app/helpers/ci/status_helper.rb
0 → 100644
View file @
d1b763eb
# frozen_string_literal: true
##
# DEPRECATED
#
# These helpers are deprecated in favor of detailed CI/CD statuses.
#
# See 'detailed_status?` method and `Gitlab::Ci::Status` module.
#
module
Ci
module
StatusHelper
def
ci_label_for_status
(
status
)
if
detailed_status?
(
status
)
return
status
.
label
end
label
=
case
status
when
'success'
'passed'
when
'success-with-warnings'
'passed with warnings'
when
'manual'
'waiting for manual action'
when
'scheduled'
'waiting for delayed job'
else
status
end
translation
=
"CiStatusLabel|
#{
label
}
"
s_
(
translation
)
end
def
ci_text_for_status
(
status
)
if
detailed_status?
(
status
)
return
status
.
text
end
case
status
when
'success'
s_
(
'CiStatusText|passed'
)
when
'success-with-warnings'
s_
(
'CiStatusText|passed'
)
when
'manual'
s_
(
'CiStatusText|blocked'
)
when
'scheduled'
s_
(
'CiStatusText|delayed'
)
else
# All states are already being translated inside the detailed statuses:
# :running => Gitlab::Ci::Status::Running
# :skipped => Gitlab::Ci::Status::Skipped
# :failed => Gitlab::Ci::Status::Failed
# :success => Gitlab::Ci::Status::Success
# :canceled => Gitlab::Ci::Status::Canceled
# The following states are customized above:
# :manual => Gitlab::Ci::Status::Manual
status_translation
=
"CiStatusText|
#{
status
}
"
s_
(
status_translation
)
end
end
def
ci_status_for_statuseable
(
subject
)
status
=
subject
.
try
(
:status
)
||
'not found'
status
.
humanize
end
# rubocop:disable Metrics/CyclomaticComplexity
def
ci_icon_for_status
(
status
,
size:
16
)
if
detailed_status?
(
status
)
return
sprite_icon
(
status
.
icon
,
size:
size
)
end
icon_name
=
case
status
when
'success'
'status_success'
when
'success-with-warnings'
'status_warning'
when
'failed'
'status_failed'
when
'pending'
'status_pending'
when
'waiting_for_resource'
'status_pending'
when
'preparing'
'status_preparing'
when
'running'
'status_running'
when
'play'
'play'
when
'created'
'status_created'
when
'skipped'
'status_skipped'
when
'manual'
'status_manual'
when
'scheduled'
'status_scheduled'
else
'status_canceled'
end
sprite_icon
(
icon_name
,
size:
size
)
end
# rubocop:enable Metrics/CyclomaticComplexity
def
ci_icon_class_for_status
(
status
)
group
=
detailed_status?
(
status
)
?
status
.
group
:
status
.
dasherize
"ci-status-icon-
#{
group
}
"
end
def
pipeline_status_cache_key
(
pipeline_status
)
"pipeline-status/
#{
pipeline_status
.
sha
}
-
#{
pipeline_status
.
status
}
"
end
def
render_commit_status
(
commit
,
status
,
ref:
nil
,
tooltip_placement:
'left'
)
project
=
commit
.
project
path
=
pipelines_project_commit_path
(
project
,
commit
,
ref:
ref
)
render_status_with_link
(
status
,
path
,
tooltip_placement:
tooltip_placement
,
icon_size:
24
)
end
def
render_status_with_link
(
status
,
path
=
nil
,
type:
_
(
'pipeline'
),
tooltip_placement:
'left'
,
cssclass:
''
,
container:
'body'
,
icon_size:
16
)
klass
=
"ci-status-link
#{
ci_icon_class_for_status
(
status
)
}
d-inline-flex
#{
cssclass
}
"
title
=
"
#{
type
.
titleize
}
:
#{
ci_label_for_status
(
status
)
}
"
data
=
{
toggle:
'tooltip'
,
placement:
tooltip_placement
,
container:
container
}
if
path
link_to
ci_icon_for_status
(
status
,
size:
icon_size
),
path
,
class:
klass
,
title:
title
,
data:
data
else
content_tag
:span
,
ci_icon_for_status
(
status
,
size:
icon_size
),
class:
klass
,
title:
title
,
data:
data
end
end
def
detailed_status?
(
status
)
status
.
respond_to?
(
:text
)
&&
status
.
respond_to?
(
:group
)
&&
status
.
respond_to?
(
:label
)
&&
status
.
respond_to?
(
:icon
)
end
end
end
app/helpers/ci_status_helper.rb
deleted
100644 → 0
View file @
1018045a
# frozen_string_literal: true
##
# DEPRECATED
#
# These helpers are deprecated in favor of detailed CI/CD statuses.
#
# See 'detailed_status?` method and `Gitlab::Ci::Status` module.
#
module
CiStatusHelper
def
ci_label_for_status
(
status
)
if
detailed_status?
(
status
)
return
status
.
label
end
label
=
case
status
when
'success'
'passed'
when
'success-with-warnings'
'passed with warnings'
when
'manual'
'waiting for manual action'
when
'scheduled'
'waiting for delayed job'
else
status
end
translation
=
"CiStatusLabel|
#{
label
}
"
s_
(
translation
)
end
def
ci_text_for_status
(
status
)
if
detailed_status?
(
status
)
return
status
.
text
end
case
status
when
'success'
s_
(
'CiStatusText|passed'
)
when
'success-with-warnings'
s_
(
'CiStatusText|passed'
)
when
'manual'
s_
(
'CiStatusText|blocked'
)
when
'scheduled'
s_
(
'CiStatusText|delayed'
)
else
# All states are already being translated inside the detailed statuses:
# :running => Gitlab::Ci::Status::Running
# :skipped => Gitlab::Ci::Status::Skipped
# :failed => Gitlab::Ci::Status::Failed
# :success => Gitlab::Ci::Status::Success
# :canceled => Gitlab::Ci::Status::Canceled
# The following states are customized above:
# :manual => Gitlab::Ci::Status::Manual
status_translation
=
"CiStatusText|
#{
status
}
"
s_
(
status_translation
)
end
end
def
ci_status_for_statuseable
(
subject
)
status
=
subject
.
try
(
:status
)
||
'not found'
status
.
humanize
end
# rubocop:disable Metrics/CyclomaticComplexity
def
ci_icon_for_status
(
status
,
size:
16
)
if
detailed_status?
(
status
)
return
sprite_icon
(
status
.
icon
,
size:
size
)
end
icon_name
=
case
status
when
'success'
'status_success'
when
'success-with-warnings'
'status_warning'
when
'failed'
'status_failed'
when
'pending'
'status_pending'
when
'waiting_for_resource'
'status_pending'
when
'preparing'
'status_preparing'
when
'running'
'status_running'
when
'play'
'play'
when
'created'
'status_created'
when
'skipped'
'status_skipped'
when
'manual'
'status_manual'
when
'scheduled'
'status_scheduled'
else
'status_canceled'
end
sprite_icon
(
icon_name
,
size:
size
)
end
# rubocop:enable Metrics/CyclomaticComplexity
def
ci_icon_class_for_status
(
status
)
group
=
detailed_status?
(
status
)
?
status
.
group
:
status
.
dasherize
"ci-status-icon-
#{
group
}
"
end
def
pipeline_status_cache_key
(
pipeline_status
)
"pipeline-status/
#{
pipeline_status
.
sha
}
-
#{
pipeline_status
.
status
}
"
end
def
render_commit_status
(
commit
,
status
,
ref:
nil
,
tooltip_placement:
'left'
)
project
=
commit
.
project
path
=
pipelines_project_commit_path
(
project
,
commit
,
ref:
ref
)
render_status_with_link
(
status
,
path
,
tooltip_placement:
tooltip_placement
,
icon_size:
24
)
end
def
render_status_with_link
(
status
,
path
=
nil
,
type:
_
(
'pipeline'
),
tooltip_placement:
'left'
,
cssclass:
''
,
container:
'body'
,
icon_size:
16
)
klass
=
"ci-status-link
#{
ci_icon_class_for_status
(
status
)
}
d-inline-flex
#{
cssclass
}
"
title
=
"
#{
type
.
titleize
}
:
#{
ci_label_for_status
(
status
)
}
"
data
=
{
toggle:
'tooltip'
,
placement:
tooltip_placement
,
container:
container
}
if
path
link_to
ci_icon_for_status
(
status
,
size:
icon_size
),
path
,
class:
klass
,
title:
title
,
data:
data
else
content_tag
:span
,
ci_icon_for_status
(
status
,
size:
icon_size
),
class:
klass
,
title:
title
,
data:
data
end
end
def
detailed_status?
(
status
)
status
.
respond_to?
(
:text
)
&&
status
.
respond_to?
(
:group
)
&&
status
.
respond_to?
(
:label
)
&&
status
.
respond_to?
(
:icon
)
end
end
spec/helpers/ci
_
status_helper_spec.rb
→
spec/helpers/ci
/
status_helper_spec.rb
View file @
d1b763eb
...
...
@@ -2,7 +2,7 @@
require
'spec_helper'
RSpec
.
describe
CiStatusHelper
do
RSpec
.
describe
Ci
::
StatusHelper
do
include
IconsHelper
let
(
:success_commit
)
{
double
(
"Ci::Pipeline"
,
status:
'success'
)
}
...
...
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