Class: KeyPersonnelCollection
- Inherits:
-
Array
- Object
- Array
- KeyPersonnelCollection
- Defined in:
- lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb
Overview
KeyPersonObject
Instance Method Summary collapse
- #co_investigator ⇒ Object
- #key_person(role) ⇒ Object
- #names ⇒ Object
- #person(full_name) ⇒ Object
- #principal_investigator ⇒ Object
- #roles ⇒ Object
-
#uncertified_person(role) ⇒ Object
IMPORTANT: This method returns a KeyPersonObject–meaning that if there are multiple key persons in the collection that match this search only the first one will be returned.
- #unit_names ⇒ Object
- #unit_numbers ⇒ Object
- #units ⇒ Object
-
#with_units ⇒ Object
returns an array of KeyPersonObjects who have associated units.
Instance Method Details
#co_investigator ⇒ Object
283 284 285 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 283 def co_investigator self.find { |person| person.role=='Co-Investigator' } end |
#key_person(role) ⇒ Object
287 288 289 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 287 def key_person(role) self.find { |person| person.key_person_role==role } end |
#names ⇒ Object
249 250 251 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 249 def names self.collect { |person| person.full_name } end |
#person(full_name) ⇒ Object
269 270 271 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 269 def person(full_name) self.find { |person| person.full_name==full_name } end |
#principal_investigator ⇒ Object
279 280 281 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 279 def principal_investigator self.find { |person| person.role=='Principal Investigator' || person.role=='PI/Contact' } end |
#roles ⇒ Object
253 254 255 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 253 def roles self.collect{ |person| person.role }.uniq end |
#uncertified_person(role) ⇒ Object
IMPORTANT: This method returns a KeyPersonObject–meaning that if there are multiple key persons in the collection that match this search only the first one will be returned. If you need a collection of multiple persons write the method for that.
295 296 297 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 295 def uncertified_person(role) self.find { |person| person.certified==false && person.role==role } end |
#unit_names ⇒ Object
257 258 259 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 257 def unit_names units.collect{ |unit| unit[:name] }.uniq end |
#unit_numbers ⇒ Object
261 262 263 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 261 def unit_numbers units.collect{ |unit| unit[:number] }.uniq end |
#units ⇒ Object
265 266 267 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 265 def units self.collect{ |person| person.units }.flatten end |
#with_units ⇒ Object
returns an array of KeyPersonObjects who have associated units
275 276 277 |
# File 'lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb', line 275 def with_units self.find_all { |person| person.units.size > 0 } end |