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)


216
217
218
# File 'lib/person/affiliation_methods.rb', line 216

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

#affiliate_academic_case_tracking?Boolean

Returns:

  • (Boolean)


172
173
174
# File 'lib/person/affiliation_methods.rb', line 172

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

#affiliate_advcon_alumnus?Boolean

Returns:

  • (Boolean)


192
193
194
# File 'lib/person/affiliation_methods.rb', line 192

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

#affiliate_advcon_attendee?Boolean

Returns:

  • (Boolean)


208
209
210
# File 'lib/person/affiliation_methods.rb', line 208

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

#affiliate_advcon_caa_member?Boolean

Returns:

  • (Boolean)


196
197
198
# File 'lib/person/affiliation_methods.rb', line 196

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

#affiliate_advcon_friend?Boolean

Returns:

  • (Boolean)


188
189
190
# File 'lib/person/affiliation_methods.rb', line 188

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

#affiliate_advcon_i_house_resident?Boolean

Returns:

  • (Boolean)


200
201
202
# File 'lib/person/affiliation_methods.rb', line 200

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

#affiliate_advcon_student?Boolean

Returns:

  • (Boolean)


204
205
206
# File 'lib/person/affiliation_methods.rb', line 204

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

#affiliate_advcon_trustee?Boolean

Returns:

  • (Boolean)


184
185
186
# File 'lib/person/affiliation_methods.rb', line 184

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

#affiliate_aws_only?Boolean

Determine if the persone is an AFFILIATE #

Returns:

  • (Boolean)


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

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

#affiliate_billing_only?Boolean

Returns:

  • (Boolean)


180
181
182
# File 'lib/person/affiliation_methods.rb', line 180

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

#affiliate_committee_member?Boolean

Returns:

  • (Boolean)


136
137
138
# File 'lib/person/affiliation_methods.rb', line 136

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

#affiliate_concurrent_enrollment?Boolean

Returns:

  • (Boolean)


152
153
154
# File 'lib/person/affiliation_methods.rb', line 152

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

#affiliate_consultant?Boolean

Returns:

  • (Boolean)


140
141
142
# File 'lib/person/affiliation_methods.rb', line 140

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

#affiliate_contractor?Boolean

Returns:

  • (Boolean)


124
125
126
# File 'lib/person/affiliation_methods.rb', line 124

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

#affiliate_departmental?Boolean

Returns:

  • (Boolean)


160
161
162
# File 'lib/person/affiliation_methods.rb', line 160

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

#affiliate_directory_only?Boolean

Returns:

  • (Boolean)


112
113
114
# File 'lib/person/affiliation_methods.rb', line 112

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

#affiliate_emeritus?Boolean

Returns:

  • (Boolean)


108
109
110
# File 'lib/person/affiliation_methods.rb', line 108

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

#affiliate_expiration_dateObject



220
221
222
# File 'lib/person/affiliation_methods.rb', line 220

def affiliate_expiration_date
  Date.parse(berkeleyEduAffExpDate.to_s)
end

#affiliate_expired?Boolean

Returns:

  • (Boolean)


212
213
214
# File 'lib/person/affiliation_methods.rb', line 212

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

#affiliate_hhmi_researcher?Boolean

Returns:

  • (Boolean)


148
149
150
# File 'lib/person/affiliation_methods.rb', line 148

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

#affiliate_lbl_doe_postdoc?Boolean

Returns:

  • (Boolean)


128
129
130
# File 'lib/person/affiliation_methods.rb', line 128

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

#affiliate_lbl_op_staff?Boolean

Returns:

  • (Boolean)


132
133
134
# File 'lib/person/affiliation_methods.rb', line 132

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

#affiliate_maintenance?Boolean

Returns:

  • (Boolean)


176
177
178
# File 'lib/person/affiliation_methods.rb', line 176

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

#affiliate_staff_affiliate?Boolean

Returns:

  • (Boolean)


168
169
170
# File 'lib/person/affiliation_methods.rb', line 168

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

#affiliate_staff_retiree?Boolean

Returns:

  • (Boolean)


104
105
106
# File 'lib/person/affiliation_methods.rb', line 104

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

#affiliate_temp_agency?Boolean

Returns:

  • (Boolean)


156
157
158
# File 'lib/person/affiliation_methods.rb', line 156

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

#affiliate_test?Boolean

Returns:

  • (Boolean)


164
165
166
# File 'lib/person/affiliation_methods.rb', line 164

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)


120
121
122
# File 'lib/person/affiliation_methods.rb', line 120

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

#affiliate_volunteer?Boolean

Returns:

  • (Boolean)


144
145
146
# File 'lib/person/affiliation_methods.rb', line 144

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

#affiliationsObject

Returns an Array of Person’s affiliations.



9
10
11
# File 'lib/person/affiliation_methods.rb', line 9

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

#employee?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/person/affiliation_methods.rb', line 59

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

#employee_academic?Boolean

Returns:

  • (Boolean)


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

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

#employee_expiration_dateObject



55
56
57
# File 'lib/person/affiliation_methods.rb', line 55

def employee_expiration_date
  Date.parse(berkeleyEduEmpExpDate.to_s)
end

#employee_expired?Boolean

Returns:

  • (Boolean)


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

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

#employee_staff?Boolean

Returns true if entry has the “staff” affiliation.

Returns:

  • (Boolean)


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

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)


18
19
20
# File 'lib/person/affiliation_methods.rb', line 18

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)


30
31
32
33
# File 'lib/person/affiliation_methods.rb', line 30

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)


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

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

#student_expiration_dateObject



75
76
77
# File 'lib/person/affiliation_methods.rb', line 75

def student_expiration_date
  Date.parse(berkeleyEduStuExpDate.to_s)
end

#student_expired?Boolean

Returns true if is an expired student.

Returns:

  • (Boolean)


71
72
73
# File 'lib/person/affiliation_methods.rb', line 71

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

#student_not_registered?Boolean

Returns:

  • (Boolean)


83
84
85
# File 'lib/person/affiliation_methods.rb', line 83

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

#student_registered?Boolean

Returns:

  • (Boolean)


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

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