summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlexis Reigel <mail@koffeinfrei.org>2017-09-27 13:18:49 +0200
committerAlexis Reigel <mail@koffeinfrei.org>2018-06-05 16:20:19 +0200
commit44d7b1583348513f8faa680a864efdbb39be70ab (patch)
tree5c01b45fc377d282eaf861bcc1549c41ee1dd19c /lib
parenta6f3f6b8cd2e79acbc824c401435284635071e1a (diff)
downloadgitlab-ce-44d7b1583348513f8faa680a864efdbb39be70ab.tar.gz
use custom favicon for ci build status favicons
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/ci/status/canceled.rb2
-rw-r--r--lib/gitlab/ci/status/created.rb2
-rw-r--r--lib/gitlab/ci/status/failed.rb2
-rw-r--r--lib/gitlab/ci/status/manual.rb2
-rw-r--r--lib/gitlab/ci/status/pending.rb2
-rw-r--r--lib/gitlab/ci/status/running.rb2
-rw-r--r--lib/gitlab/ci/status/skipped.rb2
-rw-r--r--lib/gitlab/ci/status/success.rb2
-rw-r--r--lib/gitlab/favicon.rb18
9 files changed, 23 insertions, 11 deletions
diff --git a/lib/gitlab/ci/status/canceled.rb b/lib/gitlab/ci/status/canceled.rb
index e6195a60d4f..0d71ff03163 100644
--- a/lib/gitlab/ci/status/canceled.rb
+++ b/lib/gitlab/ci/status/canceled.rb
@@ -15,7 +15,7 @@ module Gitlab
end
def favicon
- 'favicon_status_canceled'
+ Gitlab::Favicon.status('canceled')
end
end
end
diff --git a/lib/gitlab/ci/status/created.rb b/lib/gitlab/ci/status/created.rb
index 846f00b83dd..de86191dfeb 100644
--- a/lib/gitlab/ci/status/created.rb
+++ b/lib/gitlab/ci/status/created.rb
@@ -15,7 +15,7 @@ module Gitlab
end
def favicon
- 'favicon_status_created'
+ Gitlab::Favicon.status('created')
end
end
end
diff --git a/lib/gitlab/ci/status/failed.rb b/lib/gitlab/ci/status/failed.rb
index 27ce85bd3ed..20e2050108c 100644
--- a/lib/gitlab/ci/status/failed.rb
+++ b/lib/gitlab/ci/status/failed.rb
@@ -15,7 +15,7 @@ module Gitlab
end
def favicon
- 'favicon_status_failed'
+ Gitlab::Favicon.status('failed')
end
end
end
diff --git a/lib/gitlab/ci/status/manual.rb b/lib/gitlab/ci/status/manual.rb
index fc387e2fd25..2c02ce6e870 100644
--- a/lib/gitlab/ci/status/manual.rb
+++ b/lib/gitlab/ci/status/manual.rb
@@ -15,7 +15,7 @@ module Gitlab
end
def favicon
- 'favicon_status_manual'
+ Gitlab::Favicon.status('manual')
end
end
end
diff --git a/lib/gitlab/ci/status/pending.rb b/lib/gitlab/ci/status/pending.rb
index 6780780db32..9122d11cfed 100644
--- a/lib/gitlab/ci/status/pending.rb
+++ b/lib/gitlab/ci/status/pending.rb
@@ -15,7 +15,7 @@ module Gitlab
end
def favicon
- 'favicon_status_pending'
+ Gitlab::Favicon.status('pending')
end
end
end
diff --git a/lib/gitlab/ci/status/running.rb b/lib/gitlab/ci/status/running.rb
index ee13905e46d..9bc48ec2c29 100644
--- a/lib/gitlab/ci/status/running.rb
+++ b/lib/gitlab/ci/status/running.rb
@@ -15,7 +15,7 @@ module Gitlab
end
def favicon
- 'favicon_status_running'
+ Gitlab::Favicon.status('running')
end
end
end
diff --git a/lib/gitlab/ci/status/skipped.rb b/lib/gitlab/ci/status/skipped.rb
index 0dbdc4de426..b404118cd3b 100644
--- a/lib/gitlab/ci/status/skipped.rb
+++ b/lib/gitlab/ci/status/skipped.rb
@@ -15,7 +15,7 @@ module Gitlab
end
def favicon
- 'favicon_status_skipped'
+ Gitlab::Favicon.status('skipped')
end
end
end
diff --git a/lib/gitlab/ci/status/success.rb b/lib/gitlab/ci/status/success.rb
index 731013ec017..be7e5d60b26 100644
--- a/lib/gitlab/ci/status/success.rb
+++ b/lib/gitlab/ci/status/success.rb
@@ -15,7 +15,7 @@ module Gitlab
end
def favicon
- 'favicon_status_success'
+ Gitlab::Favicon.status('success')
end
end
end
diff --git a/lib/gitlab/favicon.rb b/lib/gitlab/favicon.rb
index 27150f8d1ea..17e737ac913 100644
--- a/lib/gitlab/favicon.rb
+++ b/lib/gitlab/favicon.rb
@@ -2,21 +2,33 @@ module Gitlab
class Favicon
class << self
def default
- return appearance_favicon.default.url if appearance_favicon
+ return appearance_favicon.default.url if appearance_favicon.exists?
return 'favicon-yellow.ico' if Gitlab::Utils.to_boolean(ENV['CANARY'])
return 'favicon-blue.ico' if Rails.env.development?
'favicon.ico'
end
+ def status(status_name)
+ if appearance_favicon.exists?
+ appearance_favicon.public_send("status_#{status_name}").url
+ else
+ dir = 'ci_favicons'
+ dir = File.join(dir, 'dev') if Rails.env.development?
+ dir = File.join(dir, 'canary') if Gitlab::Utils.to_boolean(ENV['CANARY'])
+
+ File.join(dir, "favicon_status_#{status_name}.ico")
+ end
+ end
+
private
def appearance
- @appearance ||= Appearance.current
+ Appearance.current || Appearance.new
end
def appearance_favicon
- appearance&.favicon
+ appearance.favicon
end
end
end