Class: Gitlab::Auth::OAuth::AuthHash

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/auth/o_auth/auth_hash.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auth_hash) ⇒ AuthHash

Returns a new instance of AuthHash.



11
12
13
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 11

def initialize(auth_hash)
  @auth_hash = auth_hash
end

Instance Attribute Details

#auth_hashObject (readonly)

Returns the value of attribute auth_hash.



9
10
11
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 9

def auth_hash
  @auth_hash
end

Instance Method Details

#emailObject



31
32
33
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 31

def email
  @email ||= username_and_email[:email].to_s
end

#has_attribute?(attribute) ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
51
52
53
54
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 48

def has_attribute?(attribute)
  if attribute == :location
    get_info(:address).present?
  else
    get_info(attribute).present?
  end
end

#locationObject



39
40
41
42
43
44
45
46
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 39

def location
  location = get_info(:address)
  if location.is_a?(Hash)
    [location.locality.presence, location.country.presence].compact.join(', ')
  else
    location
  end
end

#nameObject



23
24
25
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 23

def name
  @name ||= get_info(:name) || "#{get_info(:first_name)} #{get_info(:last_name)}"
end

#passwordObject



35
36
37
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 35

def password
  @password ||= Gitlab::Utils.force_utf8(::User.random_password)
end

#providerObject



19
20
21
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 19

def provider
  @provider ||= auth_hash.provider.to_s
end

#uidObject



15
16
17
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 15

def uid
  @uid ||= Gitlab::Utils.force_utf8(auth_hash.uid.to_s)
end

#usernameObject



27
28
29
# File 'lib/gitlab/auth/o_auth/auth_hash.rb', line 27

def username
  @username ||= username_and_email[:username].to_s
end