Class: Teems::Models::User

Inherits:
Data
  • Object
show all
Defined in:
lib/teems/models/user.rb

Overview

Represents a user in Teams

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#display_nameObject (readonly)

Returns the value of attribute display_name

Returns:

  • (Object)

    the current value of display_name



6
7
8
# File 'lib/teems/models/user.rb', line 6

def display_name
  @display_name
end

#emailObject (readonly)

Returns the value of attribute email

Returns:

  • (Object)

    the current value of email



6
7
8
# File 'lib/teems/models/user.rb', line 6

def email
  @email
end

#idObject (readonly)

Returns the value of attribute id

Returns:

  • (Object)

    the current value of id



6
7
8
# File 'lib/teems/models/user.rb', line 6

def id
  @id
end

#user_principal_nameObject (readonly)

Returns the value of attribute user_principal_name

Returns:

  • (Object)

    the current value of user_principal_name



6
7
8
# File 'lib/teems/models/user.rb', line 6

def user_principal_name
  @user_principal_name
end

Class Method Details

.from_api(data) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/teems/models/user.rb', line 7

def self.from_api(data)
  new(
    id: data['id'],
    display_name: data['displayName'],
    email: data['mail'] || data['email'],
    user_principal_name: data['userPrincipalName']
  )
end

Instance Method Details

#best_nameObject



16
17
18
# File 'lib/teems/models/user.rb', line 16

def best_name
  [display_name, email, user_principal_name, id].find { |value| value && !value.empty? }
end

#to_sObject



20
21
22
# File 'lib/teems/models/user.rb', line 20

def to_s
  best_name
end