summaryrefslogtreecommitdiff
path: root/lib/gitlab_access_status.rb
blob: 69d914e8d012f82507bb5e06c0e32b93a726dbd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require 'json'

class GitAccessStatus
  attr_reader :message, :gl_repository, :gl_username, :repository_path, :gitaly, :geo_node

  def initialize(status, message, gl_repository:, gl_username:, repository_path:, gitaly:, geo_node:)
    @status = status
    @message = message
    @gl_repository = gl_repository
    @gl_username = gl_username
    @repository_path = repository_path
    @gitaly = gitaly
    @geo_node = geo_node
  end

  def self.create_from_json(json)
    values = JSON.parse(json)
    self.new(values["status"],
             values["message"],
             gl_repository: values["gl_repository"],
             gl_username: values["gl_username"],
             repository_path: values["repository_path"],
             gitaly: values["gitaly"],
             geo_node: values["geo_node"])
  end

  def allowed?
    @status
  end
end