schild 0.7.8 → 0.7.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c0d91a0265e7e938de619b3664e9e9274194ca9a
4
- data.tar.gz: aae8a07d105d176e16f196b3634acb2d9b52e630
3
+ metadata.gz: '0833f77775cc03c4739c8262bdb6bdaf468116e0'
4
+ data.tar.gz: ec51e92b715275c92a1e3cafcf500af236b84722
5
5
  SHA512:
6
- metadata.gz: a3c15299a6631eb4366a24945e1e23c3e62fa7fb7de02d5cb33f8b77e789cc2ec21170aee8a1eda1b8e4cc4e4e3ffcb586d44b5cb12de2c6dd4ec12922cb168e
7
- data.tar.gz: cb492beaaaf87cf6a89f3f0bed8ca8edaec148e591dc93bacc1dc550a5b2e6a43d2330f5788ada0b99fd189633c61569334c855d2ca55c2424790a06e93afd96
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
- # ist die Datenbank-Verbindung. Alle Daten können über diese Konstante abgerufen werden
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
@@ -1,3 +1,3 @@
1
1
  module Schild
2
- VERSION = "0.7.8"
2
+ VERSION = "0.7.12"
3
3
  end
@@ -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).must_equal 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).must_equal 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").must_equal nil
17
- SchildErweitert::NotenHelfer.note_aus_punkten("").must_equal nil
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").must_equal nil
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).must_equal nil
27
+ n.note_s(nil).must_be_nil
28
28
  n.note_s("E3").must_equal "teilgenommen"
29
29
  end
30
30
  end
@@ -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.must_equal nil
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.must_equal nil
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.must_equal nil
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).must_equal nil
63
- @sm.geburtsdatum(true).must_equal nil
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.8
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: 2016-10-12 00:00:00.000000000 Z
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.5.1
153
+ rubygems_version: 2.6.11
154
154
  signing_key:
155
155
  specification_version: 4
156
156
  summary: Schild-API