schild 0.5.0 → 0.6.0
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 +10 -3
- data/lib/schild/version.rb +1 -1
- data/schild.gemspec +3 -3
- data/specs/type_safe_spec.rb +16 -0
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0381923a770fa822f45306da206222eb9ed9af25
|
4
|
+
data.tar.gz: 5ee8618b12e07393300fffb246507b0f4fbebff6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b548ab392d843987405b4d905ba6a25349e63eeddce2f7a4cbc69203c63edd53b0a56132e5cff0e1dbf0ed6e787e3c1f156028c7475af6aadf8067d44d927ddc
|
7
|
+
data.tar.gz: c04d780af9eae74628e1b25d96b451f8f6e8e19572369f45fec2bdc51c1f18bf29c00ccc465aec1c24fbce78aa2e72056ef332e039857b1287c4dcce707d07b0
|
data/lib/schild.rb
CHANGED
@@ -35,9 +35,16 @@ module SchildTypeSaver
|
|
35
35
|
# bei include wird für jede Spalte in der Schild-Tabelle eine Ersatzmethode
|
36
36
|
# erstellt, die bei nil ein Null-Objekt erstellt.
|
37
37
|
def self.included(klass)
|
38
|
-
klass.columns.each do
|
38
|
+
klass.columns.each do |column|
|
39
39
|
name = column.snake_case
|
40
|
-
define_method(name)
|
40
|
+
define_method(name) do |allow_nil=false|
|
41
|
+
ret = public_send(column)
|
42
|
+
if allow_nil || ret
|
43
|
+
ret
|
44
|
+
else
|
45
|
+
create_null_object(klass, column)
|
46
|
+
end
|
47
|
+
end
|
41
48
|
end
|
42
49
|
end
|
43
50
|
|
@@ -88,7 +95,7 @@ end
|
|
88
95
|
# Das Schild Modul, das alle Klassen für die Datenbankanbindung bereitstellt
|
89
96
|
module Schild
|
90
97
|
# ist die Datenbank-Verbindung. Alle Daten können über diese Konstante abgerufen werden
|
91
|
-
DB = Sequel.connect(
|
98
|
+
DB = Sequel.connect("#{ENV['S_ADAPTER']}://#{ENV['S_HOST']}/#{ENV['S_DB']}?user=#{ENV['S_USER']}&password=#{ENV['S_PASSWORD']}")
|
92
99
|
|
93
100
|
# Stellt die Schüler-Tabelle samt Assoziationen bereit.
|
94
101
|
class Schueler < Sequel::Model(:schueler)
|
data/lib/schild/version.rb
CHANGED
data/schild.gemspec
CHANGED
@@ -19,12 +19,12 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_development_dependency "bundler", "~> 1
|
23
|
-
spec.add_development_dependency "rake", "~> 10
|
22
|
+
spec.add_development_dependency "bundler", "~> 1"
|
23
|
+
spec.add_development_dependency "rake", "~> 10"
|
24
24
|
spec.add_development_dependency "minitest", "~> 5"
|
25
25
|
spec.add_development_dependency "minitest-rg", "~> 5"
|
26
|
+
spec.add_development_dependency "mysql2", "~> 0.4"
|
26
27
|
|
27
28
|
spec.add_runtime_dependency "sequel", "~> 4"
|
28
|
-
spec.add_runtime_dependency "mysql2", "~> 0"
|
29
29
|
spec.add_runtime_dependency "envyable", "~> 0"
|
30
30
|
end
|
data/specs/type_safe_spec.rb
CHANGED
@@ -47,5 +47,21 @@ describe Schueler do
|
|
47
47
|
@sm.Geburtsdatum.must_equal nil
|
48
48
|
end
|
49
49
|
end
|
50
|
+
|
51
|
+
describe 'allow_nil entweder true oder false' do
|
52
|
+
before do
|
53
|
+
# lade einen Standardschueler
|
54
|
+
@sm = Schueler.where(:Status => 2, :Geloescht => "-", :Gesperrt => "-").first
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'gibt leer zurück, wenn default' do
|
58
|
+
@sm.bemerkungen.must_equal ''
|
59
|
+
end
|
60
|
+
|
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
|
64
|
+
end
|
65
|
+
end
|
50
66
|
end
|
51
67
|
|
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.
|
4
|
+
version: 0.6.0
|
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-
|
11
|
+
date: 2015-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1
|
19
|
+
version: '1'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1
|
26
|
+
version: '1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '10
|
33
|
+
version: '10'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '10
|
40
|
+
version: '10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,33 +67,33 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '5'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: mysql2
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '4'
|
76
|
-
type: :
|
75
|
+
version: '0.4'
|
76
|
+
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '4'
|
82
|
+
version: '0.4'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: sequel
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '4'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '4'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: envyable
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|