diff options
Diffstat (limited to 'lib/user.rb')
| -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 |
