class PeopleGroup::HRIS::Wrappers::BambooTeamMember

Constants

MAPPED_ITEMS

Public Class Methods

new(data) click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 7
def initialize(data)
  @data = data
end

Public Instance Methods

active?() click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 30
def active?
  @data['status'] == 'Active'
end
first_name() click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 22
def first_name
  @data['preferredName'] || @data['firstName']
end
gitlab_username() click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 44
def gitlab_username
  @data['customGitLabUsername']
end
last_name() click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 26
def last_name
  @data['customPreferredLastName'] || @data['lastName']
end
offboarded?() click to toggle source
# 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
specialties() click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 40
def specialties
  @data['customJobTitleSpecialty(Multi-Select)'] || @data['customJobTitleSpeciality'] || ''
end
start_date() click to toggle source
# 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_id() click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 18
def team_member_id
  @data['id']
end
work_email() click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 48
def work_email
  @data['workEmail']
end

Private Instance Methods

hr_client() click to toggle source
# File lib/peoplegroup/hris/wrappers/bamboo_team_member.rb, line 64
def hr_client
  @client ||= Bamboozled.client(subdomain: ENV['BAMBOO_SUBDOMAIN'], api_key: ENV['BAMBOO_API_KEY'])
end