summaryrefslogtreecommitdiff
path: root/app/models/protectable_dropdown.rb
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2017-08-10 12:39:26 -0400
committerRobert Speicher <rspeicher@gmail.com>2017-08-14 12:14:11 -0400
commit260c8da060a6039cbd47cfe31c8ec6d6f9b43de0 (patch)
treebd6dd444c6f416c7209d88bf80e0e9322037758d /app/models/protectable_dropdown.rb
parenta64760d6d0a9bc0ce0747de349d37f3c46a1c221 (diff)
downloadgitlab-ce-260c8da060a6039cbd47cfe31c8ec6d6f9b43de0.tar.gz
Whitelist or fix additional `Gitlab/PublicSend` cop violationsrs-more-public-send-whitelists
An upcoming update to rubocop-gitlab-security added additional violations.
Diffstat (limited to 'app/models/protectable_dropdown.rb')
-rw-r--r--app/models/protectable_dropdown.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/app/models/protectable_dropdown.rb b/app/models/protectable_dropdown.rb
index 122fbce257d..c96edc5a259 100644
--- a/app/models/protectable_dropdown.rb
+++ b/app/models/protectable_dropdown.rb
@@ -1,5 +1,9 @@
class ProtectableDropdown
+ REF_TYPES = %i[branches tags].freeze
+
def initialize(project, ref_type)
+ raise ArgumentError, "invalid ref type `#{ref_type}`" unless ref_type.in?(REF_TYPES)
+
@project = project
@ref_type = ref_type
end
@@ -16,7 +20,7 @@ class ProtectableDropdown
private
def refs
- @project.repository.public_send(@ref_type)
+ @project.repository.public_send(@ref_type) # rubocop:disable GitlabSecurity/PublicSend
end
def ref_names
@@ -24,7 +28,7 @@ class ProtectableDropdown
end
def protections
- @project.public_send("protected_#{@ref_type}")
+ @project.public_send("protected_#{@ref_type}") # rubocop:disable GitlabSecurity/PublicSend
end
def non_wildcard_protected_ref_names