Class: PeopleGroup::HRIS::Wrappers::BambooTeamMember

Inherits:
TeamMember
  • Object
show all
Defined in:
lib/peoplegroup/hris/wrappers/bamboo_team_member.rb

Constant Summary collapse

MAPPED_ITEMS =
['department', 'division']

Constants inherited from TeamMember

TeamMember::REQUIRED_METHODS

Instance Method Summary collapse

Methods inherited from TeamMember

#full_name

Constructor Details

#initialize(data) ⇒ BambooTeamMember

Returns a new instance of BambooTeamMember.



7
8
9
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 7

def initialize(data)
  @data = data
end

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 30

def active?
  @data['status'] == 'Active'
end

#first_nameObject



22
23
24
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 22

def first_name
  @data['preferredName'] || @data['firstName']
end

#gitlab_usernameObject



44
45
46
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 44

def gitlab_username
  @data['customGitLabUsername']
end

#last_nameObject



26
27
28
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 26

def last_name
  @data['customPreferredLastName'] || @data['lastName']
end

#offboarded?Boolean

Returns:

  • (Boolean)


52
53
54
55
56
57
58
59
60
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 52

def offboarded?
  today = Date.current
  employment_statuses = hr_client.employee.table_data(team_member_id, 'employmentStatus')
  return false if employment_statuses.size <= 1

  employment_statuses.any? do |status|
    ['Garden Leave', 'Terminated'].include?(status['employmentStatus']) && Date.parse(status['date']) >= today
  end
end

#specialtiesObject



40
41
42
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 40

def specialties
  @data['customJobTitleSpecialty(Multi-Select)'] || @data['customJobTitleSpeciality'] || ''
end

#start_dateObject



34
35
36
37
38
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 34

def start_date
  return unless @data['hireDate']

  Date.parse(@data['hireDate'])
end

#team_member_idObject



18
19
20
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 18

def team_member_id
  @data['id']
end

#work_emailObject



48
49
50
# File 'lib/peoplegroup/hris/wrappers/bamboo_team_member.rb', line 48

def work_email
  @data['workEmail']
end