schild 0.4.1 → 0.4.2
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/README.md +2 -2
- data/lib/schild/version.rb +1 -1
- data/lib/schild.rb +91 -54
- data/specs/schueler_spec.rb +57 -27
- data/specs/type_safe_spec.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7188395c3591fa7a646c4dd4e653144124bf978e
|
4
|
+
data.tar.gz: aa08080c0aecca22f6b2bdb0e96f35c89f81c1de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ddaddbd639bccf00b6d5705c35c836e8080b09ff8471e6674045543947620298df280fd229217094c82e7ea12d9f8096b7e2cc522aa9c229ef34bc08dc426765
|
7
|
+
data.tar.gz: f25838637bdd24dde2f745dd09de5b4535b2a7c4b5eb4584e01a28955c1acf29652263affeb31ed9a6c48413201ffa5f5d821a324fcb44e92e140c5e7b573357
|
data/README.md
CHANGED
@@ -47,7 +47,7 @@ Die oben angegebene Datei wird nun verwendet, um auf die `schild-test`-Datenbank
|
|
47
47
|
|
48
48
|
```ruby
|
49
49
|
require 'envyable'
|
50
|
-
Envyable.load('./config/env.yml', '
|
50
|
+
Envyable.load('./config/env.yml', 'testing')
|
51
51
|
require 'schild'
|
52
52
|
```
|
53
53
|
|
@@ -57,7 +57,7 @@ Nun sollte noch das `Schild`-Modul geladen werden, das die Verwendung von `schi
|
|
57
57
|
|
58
58
|
```ruby
|
59
59
|
require 'envyable'
|
60
|
-
Envyable.load('./config/env.yml', '
|
60
|
+
Envyable.load('./config/env.yml', 'testing')
|
61
61
|
require 'schild'
|
62
62
|
include Schild
|
63
63
|
```
|
data/lib/schild/version.rb
CHANGED
data/lib/schild.rb
CHANGED
@@ -55,6 +55,35 @@ module SchildTypeSaver
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
+
# Mixin für Notenbezeichnungen
|
59
|
+
module NotenHelfer
|
60
|
+
# Notenbezeichnung als String
|
61
|
+
def note_s(ziffer)
|
62
|
+
case ziffer
|
63
|
+
when "1", "1+", "1-"
|
64
|
+
"sehr gut"
|
65
|
+
when "2", "2+", "2-"
|
66
|
+
"gut"
|
67
|
+
when "3", "3+", "3-"
|
68
|
+
"befriedigend"
|
69
|
+
when "4", "4+", "4-"
|
70
|
+
"ausreichend"
|
71
|
+
when "5", "5+", "5-"
|
72
|
+
"mangelhaft"
|
73
|
+
when "6"
|
74
|
+
"ungenügend"
|
75
|
+
when 'NB'
|
76
|
+
"––––––"
|
77
|
+
when "E1"
|
78
|
+
"mit besonderem Erfolg teilgenommen"
|
79
|
+
when "E2"
|
80
|
+
"mit Erfolg teilgenommen"
|
81
|
+
when 'E3'
|
82
|
+
"teilgenommen"
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
58
87
|
# Das Schild Modul, das alle Klassen für die Datenbankanbindung bereitstellt
|
59
88
|
module Schild
|
60
89
|
# ist die Datenbank-Verbindung. Alle Daten können über diese Konstante abgerufen werden
|
@@ -71,6 +100,9 @@ module Schild
|
|
71
100
|
one_to_many :abschnitte, :class => :Abschnitt
|
72
101
|
one_to_one :bk_abschluss, :class => :BKAbschluss
|
73
102
|
one_to_many :bk_abschluss_leistungen, :class => :BKAbschlussFaecher
|
103
|
+
one_to_one :abi_abschluss, :class => :AbiAbschluss
|
104
|
+
one_to_many :abi_abschluss_leistungen, :class => :AbiAbschlussFaecher
|
105
|
+
one_to_many :vermerke, :class => :Vermerke
|
74
106
|
end
|
75
107
|
|
76
108
|
# Dient als Assoziation für Schüler und deren Klassenbezeichnung etc.
|
@@ -98,7 +130,10 @@ module Schild
|
|
98
130
|
|
99
131
|
# Assoziation für Fächer
|
100
132
|
class Faecher < Sequel::Model(:eigeneschule_faecher)
|
133
|
+
#siehe abi_...
|
101
134
|
one_to_one :noten
|
135
|
+
one_to_many :abi_abschluss_leistungen
|
136
|
+
one_to_one :sprachenfolge, :class => :Sprachenfolge, :key => :Fach_ID
|
102
137
|
end
|
103
138
|
|
104
139
|
# Assoziation für BK-Abschluss des Schülers
|
@@ -111,6 +146,27 @@ module Schild
|
|
111
146
|
many_to_one :schueler
|
112
147
|
end
|
113
148
|
|
149
|
+
# Assoziation für Abi-Abschluss des Schülers
|
150
|
+
class AbiAbschluss < Sequel::Model(:schuelerabitur)
|
151
|
+
one_to_one :schueler
|
152
|
+
end
|
153
|
+
|
154
|
+
# Assoziation für die Abifächer des Schülers
|
155
|
+
class AbiAbschlussFaecher < Sequel::Model(:schuelerabifaecher)
|
156
|
+
many_to_one :schueler
|
157
|
+
many_to_one :fach, :class => :Faecher, :key => :Fach_ID
|
158
|
+
end
|
159
|
+
|
160
|
+
# Assoziation für die bisher erreichten Sprachniveaus
|
161
|
+
class Sprachenfolge < Sequel::Model(:schuelersprachenfolge)
|
162
|
+
one_to_one :Faecher
|
163
|
+
end
|
164
|
+
|
165
|
+
# Vermerke von Schülern
|
166
|
+
class Vermerke < Sequel::Model(:schuelervermerke)
|
167
|
+
many_to_one :Schueler
|
168
|
+
end
|
169
|
+
|
114
170
|
# Schul-Tabelle
|
115
171
|
class Schule < Sequel::Model(:eigeneschule)
|
116
172
|
end
|
@@ -131,16 +187,6 @@ module SchildErweitert
|
|
131
187
|
abschnitte.last
|
132
188
|
end
|
133
189
|
|
134
|
-
# gibt das erste Halbjahr von +jahr+ zurück.
|
135
|
-
def erstes_halbjahr(jahr)
|
136
|
-
halbjahr(jahr, 1)
|
137
|
-
end
|
138
|
-
|
139
|
-
# gibt das zweite Halbjahr von +jahr+ zurück.
|
140
|
-
def zweites_halbjahr(jahr)
|
141
|
-
halbjahr(jahr, 2)
|
142
|
-
end
|
143
|
-
|
144
190
|
# gibt aus +jahr+ das Halbjahr +1+ oder +2+ zurück.
|
145
191
|
def halbjahr(jahr, abschnitt)
|
146
192
|
abschnitte_dataset.where(:jahr => jahr, :abschnitt => abschnitt).first
|
@@ -171,10 +217,8 @@ module SchildErweitert
|
|
171
217
|
self.volljaehrig == "+"
|
172
218
|
end
|
173
219
|
|
174
|
-
|
175
|
-
|
176
|
-
jahr = self.akt_schuljahr
|
177
|
-
"#{jahr}/#{jahr-1999}"
|
220
|
+
def foto_vorhanden?
|
221
|
+
self.foto_vorhanden == "+"
|
178
222
|
end
|
179
223
|
end
|
180
224
|
|
@@ -211,7 +255,7 @@ module SchildErweitert
|
|
211
255
|
|
212
256
|
# Hilfsmethode für die folgenden Methoden
|
213
257
|
def faecher_nach_id(id)
|
214
|
-
noten.
|
258
|
+
noten.select{ |n| n.fach.Fachgruppe_ID == id && n.AufZeugnis == '+' }.sort_by{ |n| n.fach.SortierungS2 }
|
215
259
|
end
|
216
260
|
|
217
261
|
# wählt alle berufsübergreifenden Fächer des gewählten Schülers in angegeben Halbjahr.
|
@@ -256,31 +300,11 @@ module SchildErweitert
|
|
256
300
|
# Assoziation für Noten
|
257
301
|
class Noten < Schild::Noten
|
258
302
|
include SchildTypeSaver
|
303
|
+
include NotenHelfer
|
259
304
|
|
260
|
-
#
|
305
|
+
# note in String umwandeln
|
261
306
|
def note
|
262
|
-
|
263
|
-
when "1", "1+", "1-"
|
264
|
-
"sehr gut"
|
265
|
-
when "2", "2+", "2-"
|
266
|
-
"gut"
|
267
|
-
when "3", "3+", "3-"
|
268
|
-
"befriedigend"
|
269
|
-
when "4", "4+", "4-"
|
270
|
-
"ausreichend"
|
271
|
-
when "5", "5+", "5-"
|
272
|
-
"mangelhaft"
|
273
|
-
when "6"
|
274
|
-
"ungenügend"
|
275
|
-
when 'NB'
|
276
|
-
"----------"
|
277
|
-
when "E1"
|
278
|
-
"mit besonderem Erfolg teilgenommen"
|
279
|
-
when "E2"
|
280
|
-
"mit Erfolg teilgenommen"
|
281
|
-
when 'E3'
|
282
|
-
"teilgenommen"
|
283
|
-
end
|
307
|
+
note_s self.noten_krz
|
284
308
|
end
|
285
309
|
|
286
310
|
# Bezeichnung des Fachs
|
@@ -322,11 +346,7 @@ module SchildErweitert
|
|
322
346
|
# Assoziation für die jeweiligen BK-Prüfungsfächer
|
323
347
|
class BKAbschlussFaecher < Schild::BKAbschlussFaecher
|
324
348
|
include SchildTypeSaver
|
325
|
-
|
326
|
-
# Vornote des Prüfungsfachs
|
327
|
-
def vornote
|
328
|
-
self.Vornote.to_i
|
329
|
-
end
|
349
|
+
include NotenHelfer
|
330
350
|
|
331
351
|
# Wurde das Fach schriftlich geprüft?
|
332
352
|
def fach_schriftlich?
|
@@ -338,22 +358,34 @@ module SchildErweitert
|
|
338
358
|
self.MdlPruefung == "+"
|
339
359
|
end
|
340
360
|
|
341
|
-
|
342
|
-
|
343
|
-
self.NoteSchriftlich.to_i
|
361
|
+
def note(notenart=:note_abschluss_ba)
|
362
|
+
note_s send(notenart)
|
344
363
|
end
|
364
|
+
end
|
345
365
|
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
366
|
+
# Assoziation für Abi-Abschlussdaten
|
367
|
+
class AbiAbschluss < Schild::AbiAbschluss
|
368
|
+
include SchildTypeSaver
|
369
|
+
end
|
370
|
+
|
371
|
+
# Assoziation für die jeweiligen Abi-Prüfungsfächer
|
372
|
+
class AbiAbschlussFaecher < Schild::AbiAbschlussFaecher
|
373
|
+
include SchildTypeSaver
|
374
|
+
include NotenHelfer
|
350
375
|
|
351
|
-
|
352
|
-
|
353
|
-
self.NoteAbschluss.to_i
|
376
|
+
def note(notenart)
|
377
|
+
note_s send(notenart)
|
354
378
|
end
|
355
379
|
end
|
356
380
|
|
381
|
+
class Sprachenfolge < Schild::Sprachenfolge
|
382
|
+
include SchildTypeSaver
|
383
|
+
end
|
384
|
+
|
385
|
+
class Vermerke < Schild::Vermerke
|
386
|
+
include SchildTypeSaver
|
387
|
+
end
|
388
|
+
|
357
389
|
# Schul-Tabelle mit vereinfachtem Zugriff auf Datenfelder.
|
358
390
|
class Schule < Schild::Schule
|
359
391
|
include SchildTypeSaver
|
@@ -394,8 +426,13 @@ module SchildErweitert
|
|
394
426
|
alias :password :passwort
|
395
427
|
|
396
428
|
def passwort?(passwort='')
|
397
|
-
passwort
|
429
|
+
crypt(passwort) == self.passwort
|
398
430
|
end
|
399
431
|
alias :password? :passwort?
|
432
|
+
|
433
|
+
def crypt(passwort)
|
434
|
+
passwort.codepoints.map{|c| ((c/16)*32+15-c).chr}.join('')
|
435
|
+
end
|
400
436
|
end
|
401
437
|
end
|
438
|
+
|
data/specs/schueler_spec.rb
CHANGED
@@ -18,30 +18,30 @@ describe Schueler do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'geben Noten aus dem angegebenen Halbjahr und Jahr zurück (via Lernabschnitte und Leistungen)' do
|
21
|
-
@sm.
|
21
|
+
@sm.halbjahr(2013,1).noten.first.ID.must_equal 163701
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'gibt Konferenzdatum zurück (Lernabschnitte)' do
|
25
25
|
# offenbar keine in der Testdatenbank eingetragen
|
26
26
|
# deshalb Default-Objekt anfordern
|
27
|
-
@sm.
|
27
|
+
@sm.halbjahr(2013,1).konferenzdatum.must_be_instance_of DateTime
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'gibt berufsbezogene Fächer aus den angegebenen Lernabschnitten zurück' do
|
31
|
-
@sm.
|
31
|
+
@sm.halbjahr(2013,2).berufsbezogen.map{|n|n.fach.FachKrz}.must_include 'FF'
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'gibt berufsübergreifende Fächer aus den angegebenen Lernabschnitten zurück' do
|
35
|
-
@sm.
|
35
|
+
@sm.halbjahr(2013,2).berufsuebergreifend.map{|n|n.fach.FachKrz}.must_include 'D'
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'gibt Fächer aus dem Differenzierungsbereich zurück über angegebenen Lernabschnitt' do
|
39
|
-
Schueler[394].
|
39
|
+
Schueler[394].halbjahr(2007,1).differenzierungsbereich.map{|n|n.fach.FachKrz}.must_include 'CHDIFF'
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'gibt Fächer aus allen Fächergruppen zurück' do
|
43
|
-
fg = @sm.
|
44
|
-
fg.must_equal (@sm.
|
43
|
+
fg = @sm.halbjahr(2013,2).faechergruppen.flatten.count
|
44
|
+
fg.must_equal (@sm.halbjahr(2013,2).noten.select{|n|n.AufZeugnis == '+'}).count
|
45
45
|
end
|
46
46
|
|
47
47
|
it 'gibt Zulassung zurück' do
|
@@ -70,23 +70,53 @@ describe Schueler do
|
|
70
70
|
end
|
71
71
|
|
72
72
|
it 'gibt Note schriftlich zurück' do
|
73
|
-
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSTE"}.note_schriftlich.must_equal 3
|
74
|
-
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSFK"}.note_schriftlich.must_equal
|
73
|
+
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSTE"}.note_schriftlich.must_equal '3'
|
74
|
+
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSFK"}.note_schriftlich.must_equal ''
|
75
75
|
end
|
76
76
|
|
77
77
|
it 'gibt Note mündlich zurück' do
|
78
|
-
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "M"}.note_muendlich.must_equal 6
|
79
|
-
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSFK"}.note_muendlich.must_equal
|
78
|
+
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "M"}.note_muendlich.must_equal '6'
|
79
|
+
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSFK"}.note_muendlich.must_equal ''
|
80
80
|
end
|
81
81
|
|
82
82
|
it 'gibt Abschlussnote zurück' do
|
83
|
-
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "M"}.note_abschluss.must_equal 5
|
84
|
-
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSFK"}.note_abschluss.must_equal 3
|
83
|
+
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "M"}.note_abschluss.must_equal '5'
|
84
|
+
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSFK"}.note_abschluss.must_equal '3'
|
85
85
|
end
|
86
86
|
|
87
87
|
it 'gibt Abschlussfächer zurück' do
|
88
|
-
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSTE"}.vornote.must_equal 4
|
88
|
+
Schueler[145].bk_abschluss_leistungen.find{|l|l.fach_krz == "GSTE"}.vornote.must_equal '4'
|
89
89
|
end
|
90
|
+
|
91
|
+
it 'gibt Abschlussnote als String zurück' do
|
92
|
+
# note als Symbol
|
93
|
+
Schueler[373].bk_abschluss_leistungen.find{|l|l.fach_krz == "M"}.note(:vornote).must_equal 'gut'
|
94
|
+
# Note als String
|
95
|
+
Schueler[381].bk_abschluss_leistungen.find{|l|l.fach_krz == "PB"}.note('note_abschluss_ba').must_equal 'mangelhaft'
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'gibt Abschlussnote-BA zurück, wenn Abschlussnoten ohne Argumente angegeben wird' do
|
99
|
+
Schueler[5346].bk_abschluss_leistungen.find{|l|l.fach_krz == "E"}.note(:vornote).must_equal 'ausreichend'
|
100
|
+
Schueler[5346].bk_abschluss_leistungen.find{|l|l.fach_krz == "E"}.note.must_equal 'mangelhaft'
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'gibt die Sprachfolge als Niveau zurück' do
|
104
|
+
skip
|
105
|
+
# in der Test-Datenbank sind keine Sprachenfolgen eingetragen, daher ist das RN ""
|
106
|
+
Schueler[2072].halbjahr(2013,2).noten.find{|l|l.fach_id == 18}.fach.sprachenfolge.referenzniveau.must_equal ''
|
107
|
+
end
|
108
|
+
|
109
|
+
it 'gibt Vermerke für Schüler als Array zurück' do
|
110
|
+
@sm.vermerke.must_be_instance_of Array
|
111
|
+
end
|
112
|
+
|
113
|
+
it 'gibt Vermerk als String zurück' do
|
114
|
+
skip
|
115
|
+
# Leider keine Vermerke in der Testdatenbank eingetragen
|
116
|
+
@sm.vermerke.first.must_be_instance_of String
|
117
|
+
end
|
118
|
+
|
119
|
+
#schuelerabifaecher kann wegen mangelnder daten nicht getestet werden
|
90
120
|
end
|
91
121
|
|
92
122
|
describe 'gibt die korrekte Anzahl von Schülern über Klasse zurück' do
|
@@ -108,8 +138,8 @@ describe Schueler do
|
|
108
138
|
@sm.volljaehrig?.must_equal true
|
109
139
|
end
|
110
140
|
|
111
|
-
it 'gibt
|
112
|
-
@sm.
|
141
|
+
it 'gibt zurück, ob ein Foto vorhanden ist' do
|
142
|
+
@sm.foto_vorhanden?.must_equal false
|
113
143
|
end
|
114
144
|
|
115
145
|
it 'gibt passende Bezeichnung Schüler oder Schülerin zurück' do
|
@@ -123,38 +153,38 @@ describe Schueler do
|
|
123
153
|
end
|
124
154
|
|
125
155
|
it 'gibt die Textbezeichnung für eine Note zurück' do
|
126
|
-
@sm.
|
156
|
+
@sm.halbjahr(2013,2).noten[5].note.must_equal "gut"
|
127
157
|
end
|
128
158
|
|
129
159
|
it 'gibt die Textbezeichnung auch bei ungeraden Noten zurück' do
|
130
|
-
Schueler[178].
|
131
|
-
Schueler[178].
|
160
|
+
Schueler[178].halbjahr(2010,1).noten[0].note.must_equal "mangelhaft"
|
161
|
+
Schueler[178].halbjahr(2010,1).noten[0].NotenKrz.must_equal "5-"
|
132
162
|
end
|
133
163
|
|
134
164
|
it 'gibt die volle Fachbezeichnung zurück' do
|
135
|
-
@sm.
|
165
|
+
@sm.halbjahr(2013,2).noten[5].bezeichnung.must_equal "Farb- und Formveränderung"
|
136
166
|
end
|
137
167
|
|
138
168
|
it 'gibt die korrekte Fachgruppen_ID zurück' do
|
139
|
-
@sm.
|
169
|
+
@sm.halbjahr(2013,2).noten[5].fachgruppe_ID.must_equal 20
|
140
170
|
end
|
141
171
|
|
142
172
|
it 'gibt den Namen des Klassenlehrers zurück' do
|
143
|
-
@sm.
|
173
|
+
@sm.halbjahr(2013,2).v_name_klassenlehrer.must_equal "P. Ronnewinkel"
|
144
174
|
end
|
145
175
|
|
146
176
|
it 'gibt an, ob Klassenlehrer/in' do
|
147
|
-
@sm.
|
177
|
+
@sm.halbjahr(2013,2).klassenlehrer_in.must_equal "Klassenlehrer"
|
148
178
|
end
|
149
179
|
|
150
180
|
it 'gibt das zweite Halbjahr zurück' do
|
151
|
-
@sm.
|
152
|
-
@sm.
|
181
|
+
@sm.halbjahr(2013,2).Abschnitt.must_equal 2
|
182
|
+
@sm.halbjahr(2013,2).Jahr.must_equal 2013
|
153
183
|
end
|
154
184
|
|
155
185
|
it 'gibt das erste Halbjahr zurück' do
|
156
|
-
@sm.
|
157
|
-
@sm.
|
186
|
+
@sm.halbjahr(2014,1).Abschnitt.must_equal 1
|
187
|
+
@sm.halbjahr(2014,1).Jahr.must_equal 2014
|
158
188
|
end
|
159
189
|
|
160
190
|
it 'gibt das aktuelle Halbjahr zurück' do
|
data/specs/type_safe_spec.rb
CHANGED
@@ -16,8 +16,8 @@ describe Schueler do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'gibt 0 bei fehlendem Integer zurück' do
|
19
|
-
Schueler[6176].
|
20
|
-
Schueler[6176].
|
19
|
+
Schueler[6176].halbjahr(2014,1).sum_fehl_std.must_equal 0
|
20
|
+
Schueler[6176].halbjahr(2014,1).SumFehlStd.must_equal nil
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
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.
|
4
|
+
version: 0.4.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-
|
11
|
+
date: 2015-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|