Module: Mumukit::Login::Profile

Defined in:
lib/mumukit/login/profile.rb

Class Method Summary collapse

Class Method Details

.from_omniauth(omniauth) ⇒ Object



2
3
4
# File 'lib/mumukit/login/profile.rb', line 2

def self.from_omniauth(omniauth)
  struct profile_hash(omniauth)
end

.generate_uid(omniauth) ⇒ Object



22
23
24
# File 'lib/mumukit/login/profile.rb', line 22

def self.generate_uid(omniauth)
  Mumukit::Login::Provider.(omniauth.provider).uid_for_profile(omniauth)
end

.image_url(url) ⇒ Object



18
19
20
# File 'lib/mumukit/login/profile.rb', line 18

def self.image_url(url)
  url if url.try { size <= 255 }
end

.profile_hash(omniauth) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/mumukit/login/profile.rb', line 6

def self.profile_hash(omniauth)
  {
    provider: omniauth.provider,
    first_name: omniauth.info.first_name,
    last_name: omniauth.info.last_name,
    social_id: omniauth.uid,
    email: omniauth.info.email,
    uid: generate_uid(omniauth),
    image_url: image_url(omniauth.info.image)
  }.compact
end