diff options
| author | Ash McKenzie <amckenzie@gitlab.com> | 2018-07-26 17:47:13 +1000 |
|---|---|---|
| committer | Ash McKenzie <amckenzie@gitlab.com> | 2018-07-30 14:13:42 +1000 |
| commit | 28ff59405111209bbf5cd6cb59b4ffd648922a74 (patch) | |
| tree | 0b8dc539f2d5b8e304a2d9d744cd2774753d438b /lib | |
| parent | 5ef06ac7eaf91c7ee4c32ed63c389b87aece5de8 (diff) | |
| download | gitlab-shell-28ff59405111209bbf5cd6cb59b4ffd648922a74.tar.gz | |
New User class
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/user.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/user.rb b/lib/user.rb new file mode 100644 index 0000000..6078083 --- /dev/null +++ b/lib/user.rb @@ -0,0 +1,25 @@ +require_relative 'gitlab_net' + +class User + ANONYMOUS_USER = 'Anonymous'.freeze + + def initialize(key_id, audit_usernames: false) + @key_id = key_id + @audit_usernames = audit_usernames + end + + def username + @username ||= begin + user = GitlabNet.new.discover(key_id) + user ? "@#{user['username']}" : ANONYMOUS_USER + end + end + + def log_username + audit_usernames ? username : "user with key #{key_id}" + end + + private + + attr_reader :key_id, :audit_usernames +end |
