Module: UCB::LDAP::AffiliationMethods

Included in:
Person
Defined in:
lib/person/affiliation_methods.rb

Instance Method Summary collapse

Instance Method Details

#affiliate?Boolean

Returns:

  • (Boolean)


202
203
204
# File 'lib/person/affiliation_methods.rb', line 202

def affiliate?
  has_affiliation_of_type?(:affiliate) && !affiliate_expired?
end

#affiliate_academic_case_tracking?Boolean

Returns:

  • (Boolean)


158
159
160
# File 'lib/person/affiliation_methods.rb', line 158

def affiliate_academic_case_tracking?
  has_affiliation? 'AFFILIATE-TYPE-ACADEMIC CASE TRACKING'
end

#affiliate_advcon_alumnus?Boolean

Returns:

  • (Boolean)


178
179
180
# File 'lib/person/affiliation_methods.rb', line 178

def affiliate_advcon_alumnus?
  has_affiliation? 'AFFILIATE-TYPE-ADVCON-ALUMNUS'
end

#affiliate_advcon_attendee?Boolean

Returns:

  • (Boolean)


194
195
196
# File 'lib/person/affiliation_methods.rb', line 194

def affiliate_advcon_attendee?
  has_affiliation? 'AFFILIATE-TYPE-ADVCON-ATTENDEE'
end

#affiliate_advcon_caa_member?Boolean

Returns:

  • (Boolean)


182
183
184
# File 'lib/person/affiliation_methods.rb', line 182

def affiliate_advcon_caa_member?
  has_affiliation? 'AFFILIATE-TYPE-ADVCON-CAA-MEMBER'
end

#affiliate_advcon_friend?Boolean

Returns:

  • (Boolean)


174
175
176
# File 'lib/person/affiliation_methods.rb', line 174

def affiliate_advcon_friend?
  has_affiliation? 'AFFILIATE-TYPE-ADVCON-FRIEND'
end

#affiliate_advcon_i_house_resident?Boolean

Returns:

  • (Boolean)


186
187
188
# File 'lib/person/affiliation_methods.rb', line 186

def affiliate_advcon_i_house_resident?
  has_affiliation? 'AFFILIATE-TYPE-ADVCON-I-HOUSE-RESIDENT'  
end

#affiliate_advcon_student?Boolean

Returns:

  • (Boolean)


190
191
192
# File 'lib/person/affiliation_methods.rb', line 190

def affiliate_advcon_student?
  has_affiliation? 'AFFILIATE-TYPE-ADVCON-STUDENT'
end

#affiliate_advcon_trustee?Boolean

Returns:

  • (Boolean)


170
171
172
# File 'lib/person/affiliation_methods.rb', line 170

def affiliate_advcon_trustee?
  has_affiliation? 'AFFILIATE-TYPE-ADVCON-TRUSTEE'
end

#affiliate_aws_only?Boolean

Determine if the persone is an AFFILIATE #

Returns:

  • (Boolean)


88
89
90
# File 'lib/person/affiliation_methods.rb', line 88

def affiliate_aws_only?
  has_affiliation? 'AFFILIATE-TYPE-AWS ONLY'
end

#affiliate_billing_only?Boolean

Returns:

  • (Boolean)


166
167
168
# File 'lib/person/affiliation_methods.rb', line 166

def affiliate_billing_only?
  has_affiliation? 'AFFILIATE-TYPE-BILLING ONLY'
end

#affiliate_committee_member?Boolean

Returns:

  • (Boolean)


122
123
124
# File 'lib/person/affiliation_methods.rb', line 122

def affiliate_committee_member?
  has_affiliation? 'AFFILIATE-TYPE-COMMITTEE MEMBER'
end

#affiliate_concurrent_enrollment?Boolean

Returns:

  • (Boolean)


138
139
140
# File 'lib/person/affiliation_methods.rb', line 138

def affiliate_concurrent_enrollment?
  has_affiliation? 'AFFILIATE-TYPE-CONCURR ENROLL'
end

#affiliate_consultant?Boolean

Returns:

  • (Boolean)


126
127
128
# File 'lib/person/affiliation_methods.rb', line 126

def affiliate_consultant?
  has_affiliation? 'AFFILIATE-TYPE-CONSULTANT'
end

#affiliate_contractor?Boolean

Returns:

  • (Boolean)


110
111
112
# File 'lib/person/affiliation_methods.rb', line 110

def affiliate_contractor?
  has_affiliation? 'AFFILIATE-TYPE-CONTRACTOR'
end

#affiliate_departmental?Boolean

Returns:

  • (Boolean)


146
147
148
# File 'lib/person/affiliation_methods.rb', line 146

def affiliate_departmental?
  has_affiliation? 'AFFILIATE-TYPE-DEPARTMENTAL'
end

#affiliate_directory_only?Boolean

Returns:

  • (Boolean)


100
101
102
# File 'lib/person/affiliation_methods.rb', line 100

def affiliate_directory_only?
  has_affiliation? 'AFFILIATE-TYPE-DIRECTORY ONLY'
end

#affiliate_emeritus?Boolean

Returns:

  • (Boolean)


96
97
98
# File 'lib/person/affiliation_methods.rb', line 96

def affiliate_emeritus?
  has_affiliation? 'AFFILIATE-TYPE-EMERITUS'
end

#affiliate_expiration_dateObject



206
207
208
# File 'lib/person/affiliation_methods.rb', line 206

def affiliate_expiration_date
  Date.parse(berkeleyEduAffExpDate.to_s)
end

#affiliate_expired?Boolean

Returns:

  • (Boolean)


198
199
200
# File 'lib/person/affiliation_methods.rb', line 198

def affiliate_expired?
  has_affiliation? 'AFFILIATE-STATUS-EXPIRED'
end

#affiliate_hhmi_researcher?Boolean

Returns:

  • (Boolean)


134
135
136
# File 'lib/person/affiliation_methods.rb', line 134

def affiliate_hhmi_researcher?
  has_affiliation? 'AFFILIATE-TYPE-HHMI RESEARCHER'
end

#affiliate_lbl_doe_postdoc?Boolean

Returns:

  • (Boolean)


114
115
116
# File 'lib/person/affiliation_methods.rb', line 114

def affiliate_lbl_doe_postdoc?
  has_affiliation? 'AFFILIATE-TYPE-LBL/DOE POSTDOC'
end

#affiliate_lbl_op_staff?Boolean

Returns:

  • (Boolean)


118
119
120
# File 'lib/person/affiliation_methods.rb', line 118

def affiliate_lbl_op_staff?
  has_affiliation? 'AFFILIATE-TYPE-LBLOP STAFF'
end

#affiliate_maintenance?Boolean

Returns:

  • (Boolean)


162
163
164
# File 'lib/person/affiliation_methods.rb', line 162

def affiliate_maintenance?
  has_affiliation? 'AFFILIATE-TYPE-MAINTENANCE'
end

#affiliate_staff_affiliate?Boolean

Returns:

  • (Boolean)


154
155
156
# File 'lib/person/affiliation_methods.rb', line 154

def affiliate_staff_affiliate?
  has_affiliation? 'AFFILIATE-TYPE-STAFF-AFFILIATE'
end

#affiliate_staff_retiree?Boolean

Returns:

  • (Boolean)


92
93
94
# File 'lib/person/affiliation_methods.rb', line 92

def affiliate_staff_retiree?
  has_affiliation? 'AFFILIATE-TYPE-STAFF RETIREE'  
end

#affiliate_temp_agency?Boolean

Returns:

  • (Boolean)


142
143
144
# File 'lib/person/affiliation_methods.rb', line 142

def affiliate_temp_agency?
  has_affiliation? 'AFFILIATE-TYPE-TEMP AGENCY'  
end

#affiliate_test?Boolean

Returns:

  • (Boolean)


150
151
152
# File 'lib/person/affiliation_methods.rb', line 150

def affiliate_test?
  has_affiliation? 'AFFILIATE-TYPE-TEST'
end

#affiliate_visiting?Boolean

Note: there are actually 2 types of visting affiliaties, visiting student and visiting scholars. But for now we will generalize.

Returns:

  • (Boolean)


106
107
108
# File 'lib/person/affiliation_methods.rb', line 106

def affiliate_visiting?
  has_affiliation? 'AFFILIATE-TYPE-VISITING'
end

#affiliate_volunteer?Boolean

Returns:

  • (Boolean)


130
131
132
# File 'lib/person/affiliation_methods.rb', line 130

def affiliate_volunteer?
  has_affiliation? 'AFFILIATE-TYPE-VOLUNTEER'
end

#affiliationsObject

Returns an Array of Person’s affiliations.



7
8
9
# File 'lib/person/affiliation_methods.rb', line 7

def affiliations
  @affiliations ||= berkeleyEduAffiliations.map { |a| a.upcase }
end

#employee?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/person/affiliation_methods.rb', line 51

def employee?
  has_affiliation_of_type?(:employee) && !employee_expired?
end

#employee_academic?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/person/affiliation_methods.rb', line 39

def employee_academic?
  has_affiliation? 'EMPLOYEE-TYPE-ACADEMIC'
end

#employee_expiration_dateObject



47
48
49
# File 'lib/person/affiliation_methods.rb', line 47

def employee_expiration_date
  Date.parse(berkeleyEduEmpExpDate.to_s)
end

#employee_expired?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/person/affiliation_methods.rb', line 43

def employee_expired?
  has_affiliation? 'EMPLOYEE-STATUS-EXPIRED'
end

#employee_staff?Boolean

Returns true if entry has the “staff” affiliation.

Returns:

  • (Boolean)


35
36
37
# File 'lib/person/affiliation_methods.rb', line 35

def employee_staff?
  has_affiliation? 'EMPLOYEE-TYPE-STAFF'
end

#has_affiliation?(affiliation) ⇒ Boolean

Returns true if entry’s affiliations contain affiliation.

Case-insensitive.

Returns:

  • (Boolean)


14
15
16
# File 'lib/person/affiliation_methods.rb', line 14

def has_affiliation?(affiliation)
  affiliations.include?(affiliation.upcase)
end

#has_affiliation_of_type?(affiliation_type) ⇒ Boolean

Returns true if Person’s affiliations contain at least one affiliation of a particular type.

p = Person.find_by_uid ...
p.affiliations                         #=> ['EMPLOYEE-TYPE-STAFF']
p.has_affiliation_of_type?(:employee)  #=> true
p.has_affiliation_of_type?(:student)   #=> false

Returns:

  • (Boolean)


24
25
26
27
# File 'lib/person/affiliation_methods.rb', line 24

def has_affiliation_of_type?(affiliation_type)
  aff_type_string = affiliation_type.to_s.upcase
  affiliations.find{|a| a =~ /^#{aff_type_string}-TYPE-/} ? true : false
end

#student?Boolean

Returns true if entry has a studend affiliation and is not expired.

Returns:

  • (Boolean)


79
80
81
# File 'lib/person/affiliation_methods.rb', line 79

def student?
  has_affiliation_of_type?(:student) && !student_expired?
end

#student_expiration_dateObject



65
66
67
# File 'lib/person/affiliation_methods.rb', line 65

def student_expiration_date
  Date.parse(berkeleyEduStuExpDate.to_s)
end

#student_expired?Boolean

Returns true if is an expired student.

Returns:

  • (Boolean)


61
62
63
# File 'lib/person/affiliation_methods.rb', line 61

def student_expired?
  has_affiliation? 'STUDENT-STATUS-EXPIRED'
end

#student_not_registered?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/person/affiliation_methods.rb', line 73

def student_not_registered?
  has_affiliation? 'STUDENT-TYPE-NOT REGISTERED'
end

#student_registered?Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/person/affiliation_methods.rb', line 69

def student_registered?
  has_affiliation? 'STUDENT-TYPE-REGISTERED'
end