Class: SchildErweitert::Schueler

Inherits:
Object
  • Object
show all
Defined in:
lib/schild.rb

Overview

Stellt die Schüler-Tabelle samt Assoziationen bereit.

Instance Method Summary collapse

Instance Method Details

#akt_halbjahrObject

gibt das z.Zt. aktuelle Halbjahr zurück.



296
297
298
# File 'lib/schild.rb', line 296

def akt_halbjahr
  abschnitte.last
end

#anredeObject

gibt Herr oder Frau als Anrede für Schüler zurück.



306
307
308
# File 'lib/schild.rb', line 306

def anrede
  self.geschlecht == 3 ? "Herr" : "Frau"
end

#berufsbezeichnung_mwObject

gibt die jeweilige Berufsbezeichnung nach Geschlecht zurück.



321
322
323
324
# File 'lib/schild.rb', line 321

def berufsbezeichnung_mw
  return "Keine Fachklasse zugeordnet" if self.fachklasse.nil?
  self.geschlecht == 3 ? self.fachklasse.bezeichnung : self.fachklasse.beschreibung_w
end

#fotoObject

gibt, wenn vorhanden, ein Foto als jpg-String zurück, ansonsten nil.



344
345
346
# File 'lib/schild.rb', line 344

def foto
  self.schuelerfoto.foto if self.foto_vorhanden?
end

#foto_vorhanden?Boolean

fragt ab, ob in Schild ein Foto als hinterlegt eingetragen ist.

Returns:

  • (Boolean)


339
340
341
# File 'lib/schild.rb', line 339

def foto_vorhanden?
  !!(self.schuelerfoto && self.schuelerfoto.foto)
end

#halbjahr(jahr, abschnitt) ⇒ Object

gibt aus jahr das Halbjahr 1 oder 2 zurück.



301
302
303
# File 'lib/schild.rb', line 301

def halbjahr(jahr, abschnitt)
  abschnitte_dataset.where(:jahr => jahr, :abschnitt => abschnitt).first
end

#schueler_inObject

gibt die passende Bezeichnung zurück Schüler



311
312
313
# File 'lib/schild.rb', line 311

def schueler_in
  self.geschlecht == 3 ? "Schüler" : "Schülerin"
end

#studierende_rObject

gibt die passende Bezeichnung zurück Studierende



316
317
318
# File 'lib/schild.rb', line 316

def studierende_r
  self.geschlecht == 3 ? "Studierender" : "Studierende"
end

#volljaehrig?Boolean

gibt true zurück, wenn Schüler volljährig.

Returns:

  • (Boolean)


327
328
329
# File 'lib/schild.rb', line 327

def volljaehrig?
  self.volljaehrig == "+"
end

#volljaehrig_bei?(datum) ⇒ Boolean

gibt an, ob der Schüler zu einem Zeitpunkt datum volljährig war.

Returns:

  • (Boolean)


332
333
334
335
336
# File 'lib/schild.rb', line 332

def volljaehrig_bei?(datum)
  return false if datum.nil? || self.Geburtsdatum.nil?
  geb, datum = self.Geburtsdatum.to_date, datum.to_date
  (datum.year - geb.year - ((datum.month > geb.month || (datum.month == geb.month && datum.day >= geb.day)) ? 0 : 1)) >= 18
end