diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2019-08-27 08:59:42 +0200 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2019-08-27 11:05:56 +0200 |
commit | e3ee58e2557698c9e589c010d91cc0f874d57035 (patch) | |
tree | f1091182c04430b820a082ed7f54b833f10dec07 | |
parent | 16c1cd66a5679a91aee14161490779ce92934c61 (diff) | |
download | gitlab-ce-winh-prepend-entity.tar.gz |
Prepend entity descendant where necessarywinh-prepend-entity
(cherry picked from commit b87526e8c47b7a3938ab12842bbac99a17fcb750)
-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) |