schild 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/schild/version.rb +1 -1
  3. data/lib/schild.rb +10 -2
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b235df009a65b88a49c1ea8ef4984401c13ff0ac
4
- data.tar.gz: 75be6b222936089228c6c8ee1003696c8f298230
3
+ metadata.gz: 2e856779eb1645b58440b2ecf1c974e66001ff41
4
+ data.tar.gz: 567ba35d3f20c23f7b3f703cbab6c36ff27fa11b
5
5
  SHA512:
6
- metadata.gz: 9a5ea623c051bc65e432bcb7a6afef6dfd4732133f3c0d8144a658fbaea2eef6adddc9a07abd42f77d57b44be1bbd0cc8f073769bf65473dd7febb581b3aea09
7
- data.tar.gz: 1c5e0a78e0dd005998500d236b884c0eceece4d9ca9500333aa8ca74d27e59d65fc09bf0137893ef889666b4c6e60162cb1cbce18f6b7722d9391cd558d8bfe3
6
+ metadata.gz: 632786c018a695e2d43159b548f9e915c115a1e50951c15562b951ae6f65a01022cd1b7d37cbb1c2d00a7151c5d52c066f7d31aff763b59837430762ca4757bd
7
+ data.tar.gz: a56f5a08393e97e08e6b2d38cdf5c93efed014f3a15bf7b97b7e448a0d0d19e9f99fb94f2dae54bd9409ac8a0c290ddf3543d2acffc6fcc4c5f14a7c2b3fe7fe
@@ -1,3 +1,3 @@
1
1
  module Schild
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
data/lib/schild.rb CHANGED
@@ -44,7 +44,7 @@ module MethodLogger
44
44
  end
45
45
 
46
46
  # Schild hat teilweise nil in DB-Feldern. SchildTypeSaver gibt entweder einen
47
- # "Fehlt"-String zurück oder bei strftime das 1899 Datum zurück.
47
+ # Leer-String zurück ("") oder bei strftime das 1899 Datum zurück.
48
48
  module SchildTypeSaver
49
49
  Symbol.include CoreExtensions::Symbol
50
50
  String.include CoreExtensions::String
@@ -56,9 +56,11 @@ module SchildTypeSaver
56
56
  name = column.snake_case
57
57
  MethodLogger::Methods.add(klass, name)
58
58
  # allow_nil ist als Argument optional und lässt bei +true+ alle Ergebnisse durch
59
+ define_method(("_"+name.to_s).to_sym) {public_send(column)}
59
60
  define_method(name) do |allow_nil=false|
60
61
  ret = public_send(column)
61
62
  if allow_nil || ret
63
+ ret = ret.strip if ret.class == String
62
64
  ret
63
65
  else
64
66
  create_null_object(klass, column)
@@ -75,6 +77,8 @@ module SchildTypeSaver
75
77
  Time.new(1899)
76
78
  elsif k == Integer
77
79
  0
80
+ elsif k == Float
81
+ 0.0
78
82
  else
79
83
  # alle anderen types werden als Klasse zurückgegeben
80
84
  k.new
@@ -237,6 +241,7 @@ module SchildErweitert
237
241
 
238
242
  # gibt die jeweilige Berufsbezeichnung nach Geschlecht zurück.
239
243
  def berufsbezeichnung_mw
244
+ return "Keine Fachklasse zugeordnet" if self.fachklasse.nil?
240
245
  self.geschlecht == 3 ? self.fachklasse.bezeichnung : self.fachklasse.beschreibung_w
241
246
  end
242
247
 
@@ -247,7 +252,8 @@ module SchildErweitert
247
252
 
248
253
  # gibt an, ob der Schüler zu einem Zeitpunkt *datum* volljährig war.
249
254
  def volljaehrig_bei?(datum)
250
- geb, datum = self.geburtsdatum.to_date, datum.to_date
255
+ return if datum.nil?
256
+ geb, datum = self.Geburtsdatum.to_date, datum.to_date
251
257
  (datum.year - geb.year - ((datum.month > geb.month || (datum.month == geb.month && datum.day >= geb.day)) ? 0 : 1)) >= 18
252
258
  end
253
259
 
@@ -320,6 +326,7 @@ module SchildErweitert
320
326
 
321
327
  # gibt den Namen des Klassenlehrers mit gekürztem Vornamen.
322
328
  def v_name_klassenlehrer
329
+ return "Kein Klassenlehrer angelegt" if klassenlehrer.nil?
323
330
  v = klassenlehrer.vorname
324
331
  n = klassenlehrer.nachname
325
332
  "#{v[0]}. #{n}"
@@ -327,6 +334,7 @@ module SchildErweitert
327
334
 
328
335
  # gibt "Klassenlehrer" entsprechend Geschlecht zurück
329
336
  def klassenlehrer_in
337
+ return "Kein Klassenlehrer angelegt" if klassenlehrer.nil?
330
338
  klassenlehrer.geschlecht == "3" ? "Klassenlehrer" : "Klassenlehrerin"
331
339
  end
332
340
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schild
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - HMT
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-31 00:00:00.000000000 Z
11
+ date: 2015-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler