Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-11-21 16:09:26 +0300
committerJames Lopez <james@jameslopez.es>2016-11-21 16:09:26 +0300
commit9b691688583ad46d5608320ec64873dd2eb9a647 (patch)
treedad3a7572fcc6378b355942d7c9a12f883ead213 /lib
parentd747c1c0f974034d71a25edc2c8e525d3657c774 (diff)
refactored a couple of things based on feedback
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/cycle_analytics/permissions.rb19
1 files changed, 7 insertions, 12 deletions
diff --git a/lib/gitlab/cycle_analytics/permissions.rb b/lib/gitlab/cycle_analytics/permissions.rb
index 121b723f7be..bef3b95ff1b 100644
--- a/lib/gitlab/cycle_analytics/permissions.rb
+++ b/lib/gitlab/cycle_analytics/permissions.rb
@@ -2,9 +2,12 @@ module Gitlab
module CycleAnalytics
class Permissions
STAGE_PERMISSIONS = {
- read_build: [:test, :staging],
- read_issue: [:issue, :production],
- read_merge_request: [:code, :review]
+ issue: :read_issue,
+ code: :read_merge_request,
+ test: :read_build,
+ review: :read_merge_request,
+ staging: :read_build,
+ production: :read_issue,
}.freeze
def self.get(*args)
@@ -30,15 +33,7 @@ module Gitlab
def authorized_stage?(stage)
return false unless authorize_project(:read_cycle_analytics)
- permissions_for_stage(stage).keys.each do |permission|
- return false unless authorize_project(permission)
- end
-
- true
- end
-
- def permissions_for_stage(stage)
- STAGE_PERMISSIONS.select { |_permission, stages| stages.include?(stage) }
+ STAGE_PERMISSIONS[stage] ? authorize_project(STAGE_PERMISSIONS[stage]) : true
end
def authorize_project(permission)