diff options
-rw-r--r-- | config/initializers/0_inject_enterprise_edition_module.rb | 11 | ||||
-rw-r--r-- | lib/api/entities.rb | 12 |
2 files changed, 15 insertions, 8 deletions
diff --git a/config/initializers/0_inject_enterprise_edition_module.rb b/config/initializers/0_inject_enterprise_edition_module.rb index 39595e23abe..b3ebb44ef25 100644 --- a/config/initializers/0_inject_enterprise_edition_module.rb +++ b/config/initializers/0_inject_enterprise_edition_module.rb @@ -3,8 +3,15 @@ require 'active_support/inflector' module InjectEnterpriseEditionModule - def prepend_if_ee(constant) - prepend(constant.constantize) if Gitlab.ee? + def prepend_if_ee(constant, with_descendants: false) + return unless Gitlab.ee? + + ee_module = constant.constantize + prepend(ee_module) + + if with_descendants + descendants.each { |descendant| descendant.prepend(ee_module) } + end end def extend_if_ee(constant) diff --git a/lib/api/entities.rb b/lib/api/entities.rb index b4990df1eb6..6f86adf6a5c 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -1712,16 +1712,16 @@ end API::Entities.prepend_if_ee('EE::API::Entities::Entities') ::API::Entities::ApplicationSetting.prepend_if_ee('EE::API::Entities::ApplicationSetting') ::API::Entities::Board.prepend_if_ee('EE::API::Entities::Board') -::API::Entities::Group.prepend_if_ee('EE::API::Entities::Group') +::API::Entities::Group.prepend_if_ee('EE::API::Entities::Group', with_descendants: true) ::API::Entities::GroupDetail.prepend_if_ee('EE::API::Entities::GroupDetail') -::API::Entities::IssueBasic.prepend_if_ee('EE::API::Entities::IssueBasic') +::API::Entities::IssueBasic.prepend_if_ee('EE::API::Entities::IssueBasic', with_descendants: true) ::API::Entities::List.prepend_if_ee('EE::API::Entities::List') -::API::Entities::MergeRequestBasic.prepend_if_ee('EE::API::Entities::MergeRequestBasic') +::API::Entities::MergeRequestBasic.prepend_if_ee('EE::API::Entities::MergeRequestBasic', with_descendants: true) ::API::Entities::Namespace.prepend_if_ee('EE::API::Entities::Namespace') -::API::Entities::Project.prepend_if_ee('EE::API::Entities::Project') +::API::Entities::Project.prepend_if_ee('EE::API::Entities::Project', with_descendants: true) ::API::Entities::ProtectedRefAccess.prepend_if_ee('EE::API::Entities::ProtectedRefAccess') -::API::Entities::UserPublic.prepend_if_ee('EE::API::Entities::UserPublic') +::API::Entities::UserPublic.prepend_if_ee('EE::API::Entities::UserPublic', with_descendants: true) ::API::Entities::Todo.prepend_if_ee('EE::API::Entities::Todo') ::API::Entities::ProtectedBranch.prepend_if_ee('EE::API::Entities::ProtectedBranch') ::API::Entities::Identity.prepend_if_ee('EE::API::Entities::Identity') -::API::Entities::UserWithAdmin.prepend_if_ee('EE::API::Entities::UserWithAdmin') +::API::Entities::UserWithAdmin.prepend_if_ee('EE::API::Entities::UserWithAdmin', with_descendants: true) |