diff options
author | James Lopez <james@jameslopez.es> | 2016-11-21 14:09:26 +0100 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2016-11-21 14:09:26 +0100 |
commit | 9b691688583ad46d5608320ec64873dd2eb9a647 (patch) | |
tree | dad3a7572fcc6378b355942d7c9a12f883ead213 /lib | |
parent | d747c1c0f974034d71a25edc2c8e525d3657c774 (diff) | |
download | gitlab-ce-9b691688583ad46d5608320ec64873dd2eb9a647.tar.gz |
refactored a couple of things based on feedbackfix/cycle-analytics-permissions
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/cycle_analytics/permissions.rb | 19 |
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) |