summaryrefslogtreecommitdiff
path: root/lib/gitlab/favicon.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/favicon.rb')
-rw-r--r--lib/gitlab/favicon.rb18
1 files changed, 15 insertions, 3 deletions
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