Class: KeyPersonnelCollection

Inherits:
Array
  • Object
show all
Defined in:
lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb

Overview

KeyPersonObject

Instance Method Summary collapse

Instance Method Details

#co_investigatorObject



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

#namesObject



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_investigatorObject



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

#rolesObject



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_namesObject



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_numbersObject



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

#unitsObject



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_unitsObject

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