Class: YiffSpace::Auth::ApiUser

Inherits:
Object
  • Object
show all
Defined in:
lib/yiffspace/auth/api_user.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ ApiUser

Returns a new instance of ApiUser.



8
9
10
# File 'lib/yiffspace/auth/api_user.rb', line 8

def initialize(data)
  @data = Utils::OpenHash.from(data)
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



6
7
8
# File 'lib/yiffspace/auth/api_user.rb', line 6

def data
  @data
end

Instance Method Details

#avatarObject



34
35
36
# File 'lib/yiffspace/auth/api_user.rb', line 34

def avatar
  Images::Avatar.get_for(discord_id, :discord)
end


38
39
40
# File 'lib/yiffspace/auth/api_user.rb', line 38

def banner
  Images::Banner.get_for(discord_id, :discord)
end

#created_atObject



18
19
20
# File 'lib/yiffspace/auth/api_user.rb', line 18

def created_at
  Time.zone.at(data.createdAt)
end

#discordObject



30
31
32
# File 'lib/yiffspace/auth/api_user.rb', line 30

def discord
  data.identities.discord.details.blank? ? nil : DiscordInfo.new(data.identities.discord.details.rawData)
end

#discord_idObject



14
15
16
# File 'lib/yiffspace/auth/api_user.rb', line 14

def discord_id
  data.identities.discord.userId
end

#last_sign_in_atObject



26
27
28
# File 'lib/yiffspace/auth/api_user.rb', line 26

def 
  data.lastSignInAt.nil? ? nil : Time.zone.at(data.lastSignInAt)
end

#updated_atObject



22
23
24
# File 'lib/yiffspace/auth/api_user.rb', line 22

def updated_at
  Time.zone.at(data.updatedAt)
end