diff options
Diffstat (limited to 'lib/gitlab.rb')
| -rw-r--r-- | lib/gitlab.rb | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/gitlab.rb b/lib/gitlab.rb index ccaf06c5d6a..d9d8dcf7900 100644 --- a/lib/gitlab.rb +++ b/lib/gitlab.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require_dependency 'gitlab/popen' +require 'pathname' module Gitlab def self.root @@ -60,11 +60,19 @@ module Gitlab end def self.ee? - if ENV['IS_GITLAB_EE'].present? - Gitlab::Utils.to_boolean(ENV['IS_GITLAB_EE']) - else - Object.const_defined?(:License) - end + @is_ee ||= + if ENV['IS_GITLAB_EE'] && !ENV['IS_GITLAB_EE'].empty? + Gitlab::Utils.to_boolean(ENV['IS_GITLAB_EE']) + else + # We may use this method when the Rails environment is not loaded. This + # means that checking the presence of the License class could result in + # this method returning `false`, even for an EE installation. + root.join('ee/app/models/license.rb').exist? + end + end + + def self.ee + yield if ee? end def self.http_proxy_env? |
