schild 0.7.8 → 0.7.12
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.
- checksums.yaml +4 -4
- data/lib/schild.rb +19 -1
- data/lib/schild/version.rb +1 -1
- data/specs/notenhelfer_spec.rb +6 -6
- data/specs/type_safe_spec.rb +5 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0833f77775cc03c4739c8262bdb6bdaf468116e0'
|
4
|
+
data.tar.gz: ec51e92b715275c92a1e3cafcf500af236b84722
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29839a970ec6c60da7016a630d020a650ef42806423fb4a56f5b5bc4dbb26dd294f9c3466e82793034d3d96d71244c59d6fb95060741dc98bd4a0f9ee708733c
|
7
|
+
data.tar.gz: a20ea8287512833c7b42859b21a3709367de3b4cd14e1bc3ccd1d6576c44319d1b290192d214f1562dc7d227c2b2970c08f3a1b9b29141be047dc9625bf02fba
|
data/lib/schild.rb
CHANGED
@@ -3,9 +3,23 @@ require 'sequel'
|
|
3
3
|
|
4
4
|
# Das Schild Modul, das alle Klassen für die Datenbankanbindung bereitstellt
|
5
5
|
module Schild
|
6
|
-
|
6
|
+
Sequel::Model.plugin :tactical_eager_loading
|
7
|
+
|
8
|
+
# @db ist die Datenbank-Verbindung. Alle Daten können über diese Konstante abgerufen werden
|
7
9
|
|
8
10
|
@db = Sequel.connect("#{ENV['S_ADAPTER']}://#{ENV['S_HOST']}/#{ENV['S_DB']}?user=#{ENV['S_USER']}&password=#{ENV['S_PASSWORD']}&zeroDateTimeBehavior=convertToNull")
|
11
|
+
begin
|
12
|
+
retries ||= 0
|
13
|
+
@db.test_connection
|
14
|
+
rescue
|
15
|
+
puts "Verbindung zum Server konnte nicht hergestellt werden"
|
16
|
+
puts "#{retries += 1}. Verbindungsversuch in 5s (max 50 Versuche)"
|
17
|
+
puts "Sie können mit Strg-c abbrechen."
|
18
|
+
sleep 5
|
19
|
+
retry if retries < 50
|
20
|
+
end
|
21
|
+
@db.extension(:freeze_datasets)
|
22
|
+
@db.extension(:connection_validator)
|
9
23
|
|
10
24
|
def self.connect
|
11
25
|
@db = Sequel.connect("#{ENV['S_ADAPTER']}://#{ENV['S_HOST']}/#{ENV['S_DB']}?user=#{ENV['S_USER']}&password=#{ENV['S_PASSWORD']}&zeroDateTimeBehavior=convertToNull")
|
@@ -35,6 +49,10 @@ module Schild
|
|
35
49
|
one_to_many :schueler
|
36
50
|
end
|
37
51
|
|
52
|
+
class Versetzung < Sequel::Model(:versetzung)
|
53
|
+
many_to_one :fachklasse, :class => :Fachklasse
|
54
|
+
end
|
55
|
+
|
38
56
|
# Assoziation für Lehrer, hauptsächlich für Klassenlehrer
|
39
57
|
class Klassenlehrer < Sequel::Model(:k_lehrer)
|
40
58
|
one_to_one :abschnitt, :primary_key=>:Kuerzel, :key=>:KlassenLehrer
|
data/lib/schild/version.rb
CHANGED
data/specs/notenhelfer_spec.rb
CHANGED
@@ -5,18 +5,18 @@ describe NotenHelfer do
|
|
5
5
|
it 'Note in Punkte' do
|
6
6
|
SchildErweitert::NotenHelfer.punkte_aus_note("4-").must_equal 4
|
7
7
|
SchildErweitert::NotenHelfer.punkte_aus_note("1+").must_equal 15
|
8
|
-
SchildErweitert::NotenHelfer.punkte_aus_note(nil).
|
8
|
+
SchildErweitert::NotenHelfer.punkte_aus_note(nil).must_be_nil
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'Punkte in Note' do
|
12
12
|
SchildErweitert::NotenHelfer.note_aus_punkten("12").must_equal "2+"
|
13
13
|
SchildErweitert::NotenHelfer.note_aus_punkten("2").must_equal "5"
|
14
|
-
SchildErweitert::NotenHelfer.note_aus_punkten(nil).
|
14
|
+
SchildErweitert::NotenHelfer.note_aus_punkten(nil).must_be_nil
|
15
15
|
SchildErweitert::NotenHelfer.note_aus_punkten(5).must_equal "4"
|
16
|
-
SchildErweitert::NotenHelfer.note_aus_punkten("17").
|
17
|
-
SchildErweitert::NotenHelfer.note_aus_punkten("").
|
16
|
+
SchildErweitert::NotenHelfer.note_aus_punkten("17").must_be_nil
|
17
|
+
SchildErweitert::NotenHelfer.note_aus_punkten("").must_be_nil
|
18
18
|
SchildErweitert::NotenHelfer.note_aus_punkten("0").must_equal "6"
|
19
|
-
SchildErweitert::NotenHelfer.note_aus_punkten("E3").
|
19
|
+
SchildErweitert::NotenHelfer.note_aus_punkten("E3").must_be_nil
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'Ziffernnote als String' do
|
@@ -24,7 +24,7 @@ describe NotenHelfer do
|
|
24
24
|
n=N.new
|
25
25
|
n.note_s("2+").must_equal "gut"
|
26
26
|
n.note_s("3-").must_equal "befriedigend"
|
27
|
-
n.note_s(nil).
|
27
|
+
n.note_s(nil).must_be_nil
|
28
28
|
n.note_s("E3").must_equal "teilgenommen"
|
29
29
|
end
|
30
30
|
end
|
data/specs/type_safe_spec.rb
CHANGED
@@ -17,7 +17,7 @@ describe Schueler do
|
|
17
17
|
|
18
18
|
it 'gibt 0 bei fehlendem Integer zurück' do
|
19
19
|
Schueler[6176].halbjahr(2014,1).sum_fehl_std.must_equal 0
|
20
|
-
Schueler[6176].halbjahr(2014,1).SumFehlStd.
|
20
|
+
Schueler[6176].halbjahr(2014,1).SumFehlStd.must_be_nil
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -28,7 +28,7 @@ describe Schueler do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'gibt nil zurück, wenn leer' do
|
31
|
-
@sm.Bemerkungen.
|
31
|
+
@sm.Bemerkungen.must_be_nil
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'gibt leeren String zurück, wenn leer und typensicher' do
|
@@ -44,7 +44,7 @@ describe Schueler do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'gibt nil zurück, wenn Geburtsdatum leer ist' do
|
47
|
-
@sm.Geburtsdatum.
|
47
|
+
@sm.Geburtsdatum.must_be_nil
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
@@ -59,8 +59,8 @@ describe Schueler do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'gibt nil zurück, wenn leer und typensicher und true bei allow_nil' do
|
62
|
-
@sm.bemerkungen(true).
|
63
|
-
@sm.geburtsdatum(true).
|
62
|
+
@sm.bemerkungen(true).must_be_nil
|
63
|
+
@sm.geburtsdatum(true).must_be_nil
|
64
64
|
end
|
65
65
|
end
|
66
66
|
end
|
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.7.
|
4
|
+
version: 0.7.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- HMT
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
150
|
version: '0'
|
151
151
|
requirements: []
|
152
152
|
rubyforge_project:
|
153
|
-
rubygems_version: 2.
|
153
|
+
rubygems_version: 2.6.11
|
154
154
|
signing_key:
|
155
155
|
specification_version: 4
|
156
156
|
summary: Schild-API
|