schild 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
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