summaryrefslogtreecommitdiff
path: root/lib/gitlab/git/user.rb
blob: da74719ae87c7dab8a567a29b97c06f333f037c9 (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
module Gitlab
  module Git
    class User
      attr_reader :username, :name, :email, :gl_id

      def self.from_gitlab(gitlab_user)
        new(gitlab_user.username, gitlab_user.name, gitlab_user.email, Gitlab::GlId.gl_id(gitlab_user))
      end

      # TODO support the username field in Gitaly https://gitlab.com/gitlab-org/gitaly/issues/628
      def self.from_gitaly(gitaly_user)
        new('', gitaly_user.name, gitaly_user.email, gitaly_user.gl_id)
      end

      def initialize(username, name, email, gl_id)
        @username = username
        @name = name
        @email = email
        @gl_id = gl_id
      end

      def ==(other)
        [username, name, email, gl_id] == [other.username, other.name, other.email, other.gl_id]
      end
    end
  end
end