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 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