diff options
Diffstat (limited to 'lib/gitlab_access_status.rb')
-rw-r--r-- | lib/gitlab_access_status.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/gitlab_access_status.rb b/lib/gitlab_access_status.rb new file mode 100644 index 0000000..afb5a9e --- /dev/null +++ b/lib/gitlab_access_status.rb @@ -0,0 +1,34 @@ +require 'json' + +class GitAccessStatus + attr_reader :message, :gl_repository, :gl_id, :gl_username, :repository_path, :gitaly, :git_protocol, :git_config_options + + def initialize(status, message, gl_repository:, gl_id:, gl_username:, repository_path:, gitaly:, git_protocol:, git_config_options:) + @status = status + @message = message + @gl_repository = gl_repository + @gl_id = gl_id + @gl_username = gl_username + @git_config_options = git_config_options + @repository_path = repository_path + @gitaly = gitaly + @git_protocol = git_protocol + end + + def self.create_from_json(json) + values = JSON.parse(json) + new(values["status"], + values["message"], + gl_repository: values["gl_repository"], + gl_id: values["gl_id"], + gl_username: values["gl_username"], + git_config_options: values["git_config_options"], + repository_path: values["repository_path"], + gitaly: values["gitaly"], + git_protocol: values["git_protocol"]) + end + + def allowed? + @status + end +end |