Module: UCB::LDAP::AffiliationMethods
- Included in:
- Person
- Defined in:
- lib/person/affiliation_methods.rb
Instance Method Summary collapse
- #affiliate? ⇒ Boolean
- #affiliate_academic_case_tracking? ⇒ Boolean
- #affiliate_advcon_alumnus? ⇒ Boolean
- #affiliate_advcon_attendee? ⇒ Boolean
- #affiliate_advcon_caa_member? ⇒ Boolean
- #affiliate_advcon_friend? ⇒ Boolean
- #affiliate_advcon_i_house_resident? ⇒ Boolean
- #affiliate_advcon_student? ⇒ Boolean
- #affiliate_advcon_trustee? ⇒ Boolean
-
#affiliate_aws_only? ⇒ Boolean
Determine if the persone is an AFFILIATE #.
- #affiliate_billing_only? ⇒ Boolean
- #affiliate_committee_member? ⇒ Boolean
- #affiliate_concurrent_enrollment? ⇒ Boolean
- #affiliate_consultant? ⇒ Boolean
- #affiliate_contractor? ⇒ Boolean
- #affiliate_departmental? ⇒ Boolean
- #affiliate_directory_only? ⇒ Boolean
- #affiliate_emeritus? ⇒ Boolean
- #affiliate_expiration_date ⇒ Object
- #affiliate_expired? ⇒ Boolean
- #affiliate_hhmi_researcher? ⇒ Boolean
- #affiliate_lbl_doe_postdoc? ⇒ Boolean
- #affiliate_lbl_op_staff? ⇒ Boolean
- #affiliate_maintenance? ⇒ Boolean
- #affiliate_staff_affiliate? ⇒ Boolean
- #affiliate_staff_retiree? ⇒ Boolean
- #affiliate_temp_agency? ⇒ Boolean
- #affiliate_test? ⇒ Boolean
-
#affiliate_visiting? ⇒ Boolean
Note: there are actually 2 types of visting affiliaties, visiting student and visiting scholars.
- #affiliate_volunteer? ⇒ Boolean
-
#affiliations ⇒ Object
Returns an
Array
of Person’s affiliations. - #employee? ⇒ Boolean
- #employee_academic? ⇒ Boolean
- #employee_expiration_date ⇒ Object
- #employee_expired? ⇒ Boolean
-
#employee_staff? ⇒ Boolean
Returns
true
if entry has the “staff” affiliation. -
#has_affiliation?(affiliation) ⇒ Boolean
Returns
true
if entry’s affiliations contain affiliation. -
#has_affiliation_of_type?(affiliation_type) ⇒ Boolean
Returns
true
if Person’s affiliations contain at least one affiliation of a particular type. -
#student? ⇒ Boolean
Returns
true
if entry has a studend affiliation and is not expired. - #student_expiration_date ⇒ Object
-
#student_expired? ⇒ Boolean
Returns
true
if is an expired student. - #student_not_registered? ⇒ Boolean
- #student_registered? ⇒ Boolean
Instance Method Details
#affiliate? ⇒ 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
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
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
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
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
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
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
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
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 #
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
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
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
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
140 141 142 |
# File 'lib/person/affiliation_methods.rb', line 140 def affiliate_consultant? has_affiliation? 'AFFILIATE-TYPE-CONSULTANT' end |
#affiliate_contractor? ⇒ Boolean
124 125 126 |
# File 'lib/person/affiliation_methods.rb', line 124 def affiliate_contractor? has_affiliation? 'AFFILIATE-TYPE-CONTRACTOR' end |
#affiliate_departmental? ⇒ 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
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
108 109 110 |
# File 'lib/person/affiliation_methods.rb', line 108 def affiliate_emeritus? has_affiliation? 'AFFILIATE-TYPE-EMERITUS' end |
#affiliate_expiration_date ⇒ Object
220 221 222 |
# File 'lib/person/affiliation_methods.rb', line 220 def affiliate_expiration_date Date.parse(berkeleyEduAffExpDate.to_s) end |
#affiliate_expired? ⇒ 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
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
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
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
176 177 178 |
# File 'lib/person/affiliation_methods.rb', line 176 def affiliate_maintenance? has_affiliation? 'AFFILIATE-TYPE-MAINTENANCE' end |
#affiliate_staff_affiliate? ⇒ 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
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
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
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.
120 121 122 |
# File 'lib/person/affiliation_methods.rb', line 120 def affiliate_visiting? has_affiliation? 'AFFILIATE-TYPE-VISITING' end |
#affiliate_volunteer? ⇒ Boolean
144 145 146 |
# File 'lib/person/affiliation_methods.rb', line 144 def affiliate_volunteer? has_affiliation? 'AFFILIATE-TYPE-VOLUNTEER' end |
#affiliations ⇒ Object
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
59 60 61 |
# File 'lib/person/affiliation_methods.rb', line 59 def employee? has_affiliation_of_type?(:employee) && !employee_expired? end |
#employee_academic? ⇒ Boolean
47 48 49 |
# File 'lib/person/affiliation_methods.rb', line 47 def employee_academic? has_affiliation? 'EMPLOYEE-TYPE-ACADEMIC' end |
#employee_expiration_date ⇒ Object
55 56 57 |
# File 'lib/person/affiliation_methods.rb', line 55 def employee_expiration_date Date.parse(berkeleyEduEmpExpDate.to_s) end |
#employee_expired? ⇒ 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.
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.
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
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.
91 92 93 |
# File 'lib/person/affiliation_methods.rb', line 91 def student? has_affiliation_of_type?(:student) && !student_expired? end |
#student_expiration_date ⇒ Object
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.
71 72 73 |
# File 'lib/person/affiliation_methods.rb', line 71 def student_expired? has_affiliation? 'STUDENT-STATUS-EXPIRED' end |
#student_not_registered? ⇒ 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
79 80 81 |
# File 'lib/person/affiliation_methods.rb', line 79 def student_registered? has_affiliation? 'STUDENT-TYPE-REGISTERED' end |