Class: Models::Employee

Inherits:
Base
  • Object
show all
Defined in:
lib/bob/models/employee.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Models::Base

Instance Method Details

#base_payObject



93
94
95
# File 'lib/bob/models/employee.rb', line 93

def base_pay
  payroll.salary.payment.value
end

#cityObject



33
34
35
# File 'lib/bob/models/employee.rb', line 33

def city
  address.city
end

#cost_centerObject



77
78
79
# File 'lib/bob/models/employee.rb', line 77

def cost_center
  human_readable.payroll&.custom&.field_1634476091511
end

#countryObject



37
38
39
# File 'lib/bob/models/employee.rb', line 37

def country
  address.country
end

#currencyObject



89
90
91
# File 'lib/bob/models/employee.rb', line 89

def currency
  payroll.salary.payment.currency
end

#departmentObject



17
18
19
# File 'lib/bob/models/employee.rb', line 17

def department
  work.department
end

#divisionObject



21
22
23
# File 'lib/bob/models/employee.rb', line 21

def division
  human_readable.work.custom_columns&.column_1629151319875
end

#entityObject



29
30
31
# File 'lib/bob/models/employee.rb', line 29

def entity
  human_readable.work.custom_columns&.column_1633980105047
end

#fourth_level_managerObject



73
74
75
# File 'lib/bob/models/employee.rb', line 73

def fourth_level_manager
  second_level_manager&.second_level_manager
end

#has_fourth_level_manager?Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/bob/models/employee.rb', line 69

def has_fourth_level_manager?
  second_level_manager.work&.second_level_manager.present?
end

#has_manager?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/bob/models/employee.rb', line 45

def has_manager?
  manager.present?
end

#has_second_level_manager?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/bob/models/employee.rb', line 53

def has_second_level_manager?
  work&.second_level_manager.present?
end

#has_third_level_manager?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'lib/bob/models/employee.rb', line 61

def has_third_level_manager?
  third_level_manager.present?
end

#job_role_idObject



102
103
104
# File 'lib/bob/models/employee.rb', line 102

def job_role_id
  human_readable.custom.category_1645574919835.field_1657052825123
end

#job_titleObject



9
10
11
# File 'lib/bob/models/employee.rb', line 9

def job_title
  human_readable.work.title
end

#linkedin_profileObject



85
86
87
# File 'lib/bob/models/employee.rb', line 85

def linkedin_profile
  human_readable.about.social_data&.linkedin
end

#managerObject



49
50
51
# File 'lib/bob/models/employee.rb', line 49

def manager
  work&.reports_to
end

#manager?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/bob/models/employee.rb', line 5

def manager?
  work.is_manager
end

#personal_emailObject



81
82
83
# File 'lib/bob/models/employee.rb', line 81

def personal_email
  home.private_email
end

#role_levelObject



41
42
43
# File 'lib/bob/models/employee.rb', line 41

def role_level
  human_readable.work.custom_columns.column_1629151373898
end

#second_level_managerObject



57
58
59
# File 'lib/bob/models/employee.rb', line 57

def second_level_manager
  @second_level_manager ||= Bob::Employees.find(work&.second_level_manager)
end

#start_dateObject



13
14
15
# File 'lib/bob/models/employee.rb', line 13

def start_date
  work.start_date
end

#teamObject



25
26
27
# File 'lib/bob/models/employee.rb', line 25

def team
  human_readable.work.custom_columns&.column_1642024758438
end

#third_level_managerObject



65
66
67
# File 'lib/bob/models/employee.rb', line 65

def third_level_manager
  second_level_manager&.manager
end

#variable_payObject



97
98
99
100
# File 'lib/bob/models/employee.rb', line 97

def variable_pay
  # TODO: check if we handle all the types with this field
  payroll.variable.field_255298499.amount&.value || 0.0
end