diff options
Diffstat (limited to 'lib/gitlab_access_status.rb')
-rw-r--r-- | lib/gitlab_access_status.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/gitlab_access_status.rb b/lib/gitlab_access_status.rb index 68fbba1..8483863 100644 --- a/lib/gitlab_access_status.rb +++ b/lib/gitlab_access_status.rb @@ -1,9 +1,14 @@ require 'json' +require_relative 'http_codes' class GitAccessStatus - attr_reader :message, :gl_repository, :gl_id, :gl_username, :gitaly, :git_protocol, :git_config_options + include HTTPCodes - def initialize(status, status_code, message, gl_repository: nil, gl_id: nil, gl_username: nil, gitaly: nil, git_protocol: nil, git_config_options: nil) + attr_reader :message, :gl_repository, :gl_id, :gl_username, :gitaly, :git_protocol, :git_config_options, :payload + + def initialize(status, status_code, message, gl_repository: nil, gl_id: nil, + gl_username: nil, gitaly: nil, git_protocol: nil, + git_config_options: nil, payload: nil) @status = status @status_code = status_code @message = message @@ -13,6 +18,7 @@ class GitAccessStatus @git_config_options = git_config_options @gitaly = gitaly @git_protocol = git_protocol + @payload = payload end def self.create_from_json(json, status_code) @@ -25,10 +31,15 @@ class GitAccessStatus gl_username: values["gl_username"], git_config_options: values["git_config_options"], gitaly: values["gitaly"], - git_protocol: values["git_protocol"]) + git_protocol: values["git_protocol"], + payload: values["payload"]) end def allowed? @status end + + def custom_action? + @status_code == HTTP_MULTIPLE_CHOICES + end end |