class User
Attributes
user[R]
Public Class Methods
new(user_response)
click to toggle source
# File lib/ft_42.rb, line 248 def initialize(user_response) @user = user_response end
Public Instance Methods
cadet?()
click to toggle source
# File lib/ft_42.rb, line 294 def cadet? !pisciner? end
correction_points()
click to toggle source
# File lib/ft_42.rb, line 272 def correction_points user["correction_point"] end
current_projects()
click to toggle source
# File lib/ft_42.rb, line 252 def current_projects if projects_in_progress.empty? return ["something, maybe..."] else return projects_in_progress.map { |in_prog| in_prog["project"]["name"] } end end
first_name()
click to toggle source
# File lib/ft_42.rb, line 260 def first_name user["first_name"] end
full_name()
click to toggle source
# File lib/ft_42.rb, line 268 def full_name "#{first_name} #{last_name}" end
last_name()
click to toggle source
# File lib/ft_42.rb, line 264 def last_name user["last_name"] end
level()
click to toggle source
# File lib/ft_42.rb, line 276 def level if pisciner? cursus("Piscine C").first["level"] if pisciner? elsif cadet? cursus("42").first["level"] else 0 end end
phone()
click to toggle source
# File lib/ft_42.rb, line 286 def phone %x(ldapsearch -Q uid=#{username} | grep mobile).split.last end
pisciner?()
click to toggle source
# File lib/ft_42.rb, line 290 def pisciner? cursus("42").empty? end
Private Instance Methods
cursus(name)
click to toggle source
# File lib/ft_42.rb, line 300 def cursus(name) user['cursus_users'].select { |cursus| cursus['cursus']['name'] == name } end
projects_in_progress()
click to toggle source
# File lib/ft_42.rb, line 304 def projects_in_progress user["projects_users"].select { |project| project["status"] == "in_progress" } end