skripsi-generator 1.0.0 → 1.0.1
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/example/skripsi.rb +5 -0
- data/lib/skripsi.rb +14 -0
- data/lib/sks/alat/document.rb +22 -0
- data/lib/sks/alat/numbering.rb +23 -22
- data/lib/sks/alat/rels_document.rb +1 -1
- data/lib/sks/paragraph/formulir.rb +47 -0
- data/lib/sks/paragraph/mejasekat.rb +53 -0
- data/lib/sks/paragraph/penomoran.rb +32 -0
- data/lib/sks/sks.rb +4 -0
- data/lib/xml/administrasi.rb +13 -0
- data/lib/xml/builder.rb +8 -1
- metadata +4 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ca434b421f39892b975b23dc255ded69c0574f266a901843e3cd54a251318ed3
|
|
4
|
+
data.tar.gz: 2f19cbb4839886bc8290c2ddbdafcc816ecfdf65e4dc300f2e4f6136d0070973
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ab681501694626ae4d2f5c2fdbf9e0b1ea1392f204093b0f1c8bf9f285462254ca7fcdefd8aa6f81d62ca2fb86652f8d1febdd394d6917ed6733f1be98fb30b3
|
|
7
|
+
data.tar.gz: 3a4f9ad3f61a165920a06ac17cdf892449ad427ea2eb4b0eac5e88d07d3413676f700d34120b5eff4618ca71e6a379ff56b2983bf178fb00cefbc0e7fd46931e
|
data/example/skripsi.rb
CHANGED
|
@@ -20,6 +20,11 @@ skripsi = SistemKebut.buat_skripsi do |skripsi|
|
|
|
20
20
|
seharusnya juga berperan dalam penjagaan lingkungan untuk dilestrikan. Kelestarian lingkungan perlu dikenalkan
|
|
21
21
|
dalam praktek produksi.
|
|
22
22
|
PARAGRAF
|
|
23
|
+
formulir(3600, 14).tap do |form|
|
|
24
|
+
form.tambah('nama', 'Reckordp')
|
|
25
|
+
form.tambah('tempat', 'Desa Kedungmaling Rt 019 Rw 008 Kecamatan Sooko Kabupaten Mojokerto')
|
|
26
|
+
end
|
|
27
|
+
Penomoran(self, %w( A B C D E F ))
|
|
23
28
|
Daftar_Pustaka(self, [
|
|
24
29
|
UtilSkripsi::DaftarPustaka.new(
|
|
25
30
|
'Ikatan Akuntan Indonesia',
|
data/lib/skripsi.rb
CHANGED
|
@@ -8,6 +8,20 @@ require_relative 'sks/sks'
|
|
|
8
8
|
|
|
9
9
|
module SistemKebut
|
|
10
10
|
def self.buat_skripsi(&block)
|
|
11
|
+
bersih unless butuh_kebersihan?
|
|
11
12
|
Skripsi.new(&block)
|
|
12
13
|
end
|
|
14
|
+
|
|
15
|
+
def self.butuh_kebersihan?
|
|
16
|
+
SistemKebut::Peralatan::Gudang::KOMBINASI
|
|
17
|
+
.values
|
|
18
|
+
.all?(&:empty?)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def self.bersih
|
|
22
|
+
SistemKebut::Peralatan::Gudang::KOMBINASI
|
|
23
|
+
.values
|
|
24
|
+
.each(&:clear)
|
|
25
|
+
SistemKebut::XML::Administrasi.bersih
|
|
26
|
+
end
|
|
13
27
|
end
|
data/lib/sks/alat/document.rb
CHANGED
|
@@ -32,6 +32,7 @@ module SistemKebut
|
|
|
32
32
|
def init_document
|
|
33
33
|
@sequence = []
|
|
34
34
|
@id_media = Gudang::RELS_DOCUMENT_KONTEN.length + 1
|
|
35
|
+
@id_penomoran = Gudang::NUMBERING_PERLENGKAPAN[:mulai]
|
|
35
36
|
end
|
|
36
37
|
|
|
37
38
|
def generate_document
|
|
@@ -104,6 +105,27 @@ module SistemKebut
|
|
|
104
105
|
return inst
|
|
105
106
|
end
|
|
106
107
|
|
|
108
|
+
def formulir(ts, uku)
|
|
109
|
+
SistemKebut::Paragraph::Formulir.new(ts, uku).tap do |f|
|
|
110
|
+
inner_tambah(:paragraph, f)
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def meja_sekat(jumlah, uku)
|
|
115
|
+
SistemKebut::Paragraph::MejaSekat.new(jumlah, uku).tap do |ms|
|
|
116
|
+
inner_tambah(:paragraph, ms)
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def penomoran
|
|
121
|
+
id = @id_penomoran
|
|
122
|
+
@id_penomoran += 1
|
|
123
|
+
Gudang::NUMBERING_PERLENGKAPAN[:jumlah] += 1
|
|
124
|
+
SistemKebut::Paragraph::Penomoran.new(id).tap do |nm|
|
|
125
|
+
inner_tambah(:paragraph, nm)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
107
129
|
private
|
|
108
130
|
def inner_tambah(jenis, e)
|
|
109
131
|
@sequence.push(jenis)
|
data/lib/sks/alat/numbering.rb
CHANGED
|
@@ -10,7 +10,7 @@ module SistemKebut
|
|
|
10
10
|
WORDML10: :WORDML10_VAL,
|
|
11
11
|
ATTR_IGNORABLE: :D_NAMES_WORDML10
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
NUMBERING_PERLENGKAPAN = { jumlah: 1, mulai: 3 }
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
module KebutuhanDasar
|
|
@@ -33,12 +33,12 @@ module SistemKebut
|
|
|
33
33
|
xml.lvlJc('w:val' => 'start')
|
|
34
34
|
xml.pPr do
|
|
35
35
|
xml.tabs do
|
|
36
|
-
xml.tab('w:val' => :
|
|
36
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '720')
|
|
37
37
|
end
|
|
38
38
|
xml.ind(ATTR_START: '720', ATTR_LEVEL_INDENT: '360')
|
|
39
39
|
end
|
|
40
40
|
xml.rPr do
|
|
41
|
-
xml.rFonts(:ATTR_ASCII => :
|
|
41
|
+
xml.rFonts(:ATTR_ASCII => :ROMAN_VAL, 'w:hAnsi' => :ROMAN_VAL)
|
|
42
42
|
end
|
|
43
43
|
end
|
|
44
44
|
xml.lvl(ATTR_NUMBERING_LEVEL: '1') do
|
|
@@ -48,7 +48,7 @@ module SistemKebut
|
|
|
48
48
|
xml.lvlJc('w:val' => 'start')
|
|
49
49
|
xml.pPr do
|
|
50
50
|
xml.tabs do
|
|
51
|
-
xml.tab('w:val' => :
|
|
51
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '1080')
|
|
52
52
|
end
|
|
53
53
|
xml.ind(ATTR_START: '1080', ATTR_LEVEL_INDENT: '360')
|
|
54
54
|
end
|
|
@@ -61,7 +61,7 @@ module SistemKebut
|
|
|
61
61
|
xml.lvlJc('w:val' => 'start')
|
|
62
62
|
xml.pPr do
|
|
63
63
|
xml.tabs do
|
|
64
|
-
xml.tab('w:val' => :
|
|
64
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '1440')
|
|
65
65
|
end
|
|
66
66
|
xml.ind(ATTR_START: '1440', ATTR_LEVEL_INDENT: '360')
|
|
67
67
|
end
|
|
@@ -74,7 +74,7 @@ module SistemKebut
|
|
|
74
74
|
xml.lvlJc('w:val' => 'start')
|
|
75
75
|
xml.pPr do
|
|
76
76
|
xml.tabs do
|
|
77
|
-
xml.tab('w:val' => :
|
|
77
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '1800')
|
|
78
78
|
end
|
|
79
79
|
xml.ind(ATTR_START: '1800', ATTR_LEVEL_INDENT: '360')
|
|
80
80
|
end
|
|
@@ -87,7 +87,7 @@ module SistemKebut
|
|
|
87
87
|
xml.lvlJc('w:val' => 'start')
|
|
88
88
|
xml.pPr do
|
|
89
89
|
xml.tabs do
|
|
90
|
-
xml.tab('w:val' => :
|
|
90
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '2160')
|
|
91
91
|
end
|
|
92
92
|
xml.ind(ATTR_START: '2160', ATTR_LEVEL_INDENT: '360')
|
|
93
93
|
end
|
|
@@ -100,7 +100,7 @@ module SistemKebut
|
|
|
100
100
|
xml.lvlJc('w:val' => 'start')
|
|
101
101
|
xml.pPr do
|
|
102
102
|
xml.tabs do
|
|
103
|
-
xml.tab('w:val' => :
|
|
103
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '2520')
|
|
104
104
|
end
|
|
105
105
|
xml.ind(ATTR_START: '2520', ATTR_LEVEL_INDENT: '360')
|
|
106
106
|
end
|
|
@@ -113,7 +113,7 @@ module SistemKebut
|
|
|
113
113
|
xml.lvlJc('w:val' => 'start')
|
|
114
114
|
xml.pPr do
|
|
115
115
|
xml.tabs do
|
|
116
|
-
xml.tab('w:val' => :
|
|
116
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '2880')
|
|
117
117
|
end
|
|
118
118
|
xml.ind(ATTR_START: '2880', ATTR_LEVEL_INDENT: '360')
|
|
119
119
|
end
|
|
@@ -126,7 +126,7 @@ module SistemKebut
|
|
|
126
126
|
xml.lvlJc('w:val' => 'start')
|
|
127
127
|
xml.pPr do
|
|
128
128
|
xml.tabs do
|
|
129
|
-
xml.tab('w:val' => :
|
|
129
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '3240')
|
|
130
130
|
end
|
|
131
131
|
xml.ind(ATTR_START: '3240', ATTR_LEVEL_INDENT: '360')
|
|
132
132
|
end
|
|
@@ -139,7 +139,7 @@ module SistemKebut
|
|
|
139
139
|
xml.lvlJc('w:val' => 'start')
|
|
140
140
|
xml.pPr do
|
|
141
141
|
xml.tabs do
|
|
142
|
-
xml.tab('w:val' => :
|
|
142
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '3600')
|
|
143
143
|
end
|
|
144
144
|
xml.ind(ATTR_START: '3600', ATTR_LEVEL_INDENT: '360')
|
|
145
145
|
end
|
|
@@ -155,7 +155,7 @@ module SistemKebut
|
|
|
155
155
|
xml.lvlJc('w:val' => 'start')
|
|
156
156
|
xml.pPr do
|
|
157
157
|
xml.tabs do
|
|
158
|
-
xml.tab('w:val' => :
|
|
158
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
159
159
|
end
|
|
160
160
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
161
161
|
end
|
|
@@ -168,7 +168,7 @@ module SistemKebut
|
|
|
168
168
|
xml.lvlJc('w:val' => 'start')
|
|
169
169
|
xml.pPr do
|
|
170
170
|
xml.tabs do
|
|
171
|
-
xml.tab('w:val' => :
|
|
171
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
172
172
|
end
|
|
173
173
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
174
174
|
end
|
|
@@ -181,7 +181,7 @@ module SistemKebut
|
|
|
181
181
|
xml.lvlJc('w:val' => 'start')
|
|
182
182
|
xml.pPr do
|
|
183
183
|
xml.tabs do
|
|
184
|
-
xml.tab('w:val' => :
|
|
184
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
185
185
|
end
|
|
186
186
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
187
187
|
end
|
|
@@ -194,7 +194,7 @@ module SistemKebut
|
|
|
194
194
|
xml.lvlJc('w:val' => 'start')
|
|
195
195
|
xml.pPr do
|
|
196
196
|
xml.tabs do
|
|
197
|
-
xml.tab('w:val' => :
|
|
197
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
198
198
|
end
|
|
199
199
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
200
200
|
end
|
|
@@ -207,7 +207,7 @@ module SistemKebut
|
|
|
207
207
|
xml.lvlJc('w:val' => 'start')
|
|
208
208
|
xml.pPr do
|
|
209
209
|
xml.tabs do
|
|
210
|
-
xml.tab('w:val' => :
|
|
210
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
211
211
|
end
|
|
212
212
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
213
213
|
end
|
|
@@ -220,7 +220,7 @@ module SistemKebut
|
|
|
220
220
|
xml.lvlJc('w:val' => 'start')
|
|
221
221
|
xml.pPr do
|
|
222
222
|
xml.tabs do
|
|
223
|
-
xml.tab('w:val' => :
|
|
223
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
224
224
|
end
|
|
225
225
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
226
226
|
end
|
|
@@ -233,7 +233,7 @@ module SistemKebut
|
|
|
233
233
|
xml.lvlJc('w:val' => 'start')
|
|
234
234
|
xml.pPr do
|
|
235
235
|
xml.tabs do
|
|
236
|
-
xml.tab('w:val' => :
|
|
236
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
237
237
|
end
|
|
238
238
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
239
239
|
end
|
|
@@ -246,7 +246,7 @@ module SistemKebut
|
|
|
246
246
|
xml.lvlJc('w:val' => 'start')
|
|
247
247
|
xml.pPr do
|
|
248
248
|
xml.tabs do
|
|
249
|
-
xml.tab('w:val' => :
|
|
249
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
250
250
|
end
|
|
251
251
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
252
252
|
end
|
|
@@ -259,7 +259,7 @@ module SistemKebut
|
|
|
259
259
|
xml.lvlJc('w:val' => 'start')
|
|
260
260
|
xml.pPr do
|
|
261
261
|
xml.tabs do
|
|
262
|
-
xml.tab('w:val' => :
|
|
262
|
+
xml.tab('w:val' => :LEVEL_TAB_NAME_VAL, :ATTR_POS => '0')
|
|
263
263
|
end
|
|
264
264
|
xml.ind(ATTR_START: '0', ATTR_LEVEL_INDENT: '0')
|
|
265
265
|
end
|
|
@@ -271,8 +271,9 @@ module SistemKebut
|
|
|
271
271
|
xml.num(ATTR_NUMBERING_ID: '2') do
|
|
272
272
|
xml.abstractNumId('w:val' => '2')
|
|
273
273
|
end
|
|
274
|
-
Gudang::
|
|
275
|
-
|
|
274
|
+
plk = Gudang::NUMBERING_PERLENGKAPAN
|
|
275
|
+
plk[:jumlah].times do |i|
|
|
276
|
+
xml.num(ATTR_NUMBERING_ID: (i + plk[:mulai]).to_s) do
|
|
276
277
|
xml.abstractNumId('w:val' => '1')
|
|
277
278
|
xml.lvlOverride(ATTR_NUMBERING_LEVEL: '0') do
|
|
278
279
|
xml.startOverride('w:val' => '1')
|
|
@@ -4,7 +4,7 @@ module SistemKebut
|
|
|
4
4
|
RELS_DOCUMENT_NS = { xmlns: :PACKAGE_RELATIONSHIP_VAL }
|
|
5
5
|
RELS_DOCUMENT_KONTEN = {
|
|
6
6
|
'rId1' => { Type: :OFFICE_RELATIONSHIP_STYLE_VAL, Target: :LOKASI_STYLES },
|
|
7
|
-
'rId2' => { Type: :OFFICE_RELATIONSHIP_NUMBER_VAL, Target: :
|
|
7
|
+
'rId2' => { Type: :OFFICE_RELATIONSHIP_NUMBER_VAL, Target: :LOKASI_NUMBERING },
|
|
8
8
|
'rId3' => { Type: :OFFICE_RELATIONSHIP_FONT_VAL, Target: :LOKASI_FONT_TABLE },
|
|
9
9
|
'rId4' => { Type: :OFFICE_RELATIONSHIP_SETTING_VAL, Target: :LOKASI_SETTINGS },
|
|
10
10
|
'rId5' => { Type: :OFFICE_RELATIONSHIP_THEME_VAL, Target: :LOKASI_THEME_THEME1 },
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Paragraph
|
|
3
|
+
class Formulir < SistemKebut::DefPengelolaXML
|
|
4
|
+
class UnitFormulir
|
|
5
|
+
attr_accessor :label, :value
|
|
6
|
+
def initialize(l, v)
|
|
7
|
+
@label = l
|
|
8
|
+
@value = v
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
include InnerParagraph
|
|
13
|
+
|
|
14
|
+
attr_accessor :fstyle, :fsize, :masuk, :align, :konten
|
|
15
|
+
attr_accessor :spacing, :bold, :italic, :underline
|
|
16
|
+
attr_accessor :mode, :tabsize
|
|
17
|
+
def initialize(ts, ukuran)
|
|
18
|
+
@mode = :normal
|
|
19
|
+
@fstyle = TNR
|
|
20
|
+
@fsize = 22
|
|
21
|
+
@masuk = false
|
|
22
|
+
@bold = false
|
|
23
|
+
@italic = false
|
|
24
|
+
@underline = false
|
|
25
|
+
@spacing = :normal
|
|
26
|
+
@align = :both
|
|
27
|
+
@konten = []
|
|
28
|
+
@tabsize = ts
|
|
29
|
+
ubah_ukuran(ukuran)
|
|
30
|
+
kecilkan_spacing
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def [](id)
|
|
34
|
+
@konten[id]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def tiap(&block)
|
|
38
|
+
@konten.each(&block)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def tambah(l, v)
|
|
42
|
+
@konten.push(UnitFormulir.new(l, v))
|
|
43
|
+
return nil
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Paragraph
|
|
3
|
+
class MejaSekat < SistemKebut::Paragraph::Formulir
|
|
4
|
+
class Unit
|
|
5
|
+
class JumlahKolomTidakSama < StandardError
|
|
6
|
+
def initialize(kini, expect)
|
|
7
|
+
super(<<~MESSAGE)
|
|
8
|
+
Jumlah dari kolom yang diberikan adalah #{kini}
|
|
9
|
+
Jumlah dari kolom MejaSekat yang terinisiasi adalah #{expect}
|
|
10
|
+
MESSAGE
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
attr_accessor :konten
|
|
15
|
+
attr_reader :setelan
|
|
16
|
+
|
|
17
|
+
def initialize(kolom, *args)
|
|
18
|
+
berat = args.clone
|
|
19
|
+
@setelan = berat.last.kind_of?(Hash) ? berat.pop : Hash.new
|
|
20
|
+
kini = berat.length
|
|
21
|
+
raise JumlahKolomTidakSama.new(kini, kolom) if kini != kolom
|
|
22
|
+
@konten = berat
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def [](id)
|
|
26
|
+
@konten[id]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def tiap(&block)
|
|
30
|
+
@konten.each(&block)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
attr_accessor :jumlah, :kepala
|
|
35
|
+
|
|
36
|
+
def initialize(j, ukuran)
|
|
37
|
+
super(nil, ukuran)
|
|
38
|
+
@jumlah = j
|
|
39
|
+
@kepala = nil
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def kepala(*args)
|
|
43
|
+
@kepala = Unit.new(@jumlah, *args)
|
|
44
|
+
return nil
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def tambah(*args)
|
|
48
|
+
@konten.push(Unit.new(@jumlah, *args))
|
|
49
|
+
return nil
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Paragraph
|
|
3
|
+
class Penomoran < SistemKebut::Paragraph::Teks
|
|
4
|
+
include InnerParagraph
|
|
5
|
+
|
|
6
|
+
attr_accessor :fstyle, :fsize, :masuk, :align, :konten
|
|
7
|
+
attr_accessor :spacing, :bold, :italic, :underline
|
|
8
|
+
attr_accessor :mode
|
|
9
|
+
|
|
10
|
+
attr_reader :numid
|
|
11
|
+
|
|
12
|
+
def initialize(id)
|
|
13
|
+
super([])
|
|
14
|
+
@masuk = false
|
|
15
|
+
@numid = id
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def [](id)
|
|
19
|
+
@konten[id]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def tiap(&block)
|
|
23
|
+
@konten.each(&block)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def tambah(teks)
|
|
27
|
+
@konten.push(teks)
|
|
28
|
+
return nil
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
data/lib/sks/sks.rb
CHANGED
|
@@ -19,6 +19,9 @@ require_relative 'alat/web'
|
|
|
19
19
|
require_relative 'istimewa/dasar'
|
|
20
20
|
require_relative 'section/dasar'
|
|
21
21
|
require_relative 'paragraph/dasar'
|
|
22
|
+
require_relative 'paragraph/formulir'
|
|
23
|
+
require_relative 'paragraph/mejasekat'
|
|
24
|
+
require_relative 'paragraph/penomoran'
|
|
22
25
|
require_relative 'media/dasar'
|
|
23
26
|
require_relative 'header/dasar'
|
|
24
27
|
require_relative 'footer/dasar'
|
|
@@ -52,6 +55,7 @@ module SistemKebut
|
|
|
52
55
|
inst.generate_setting
|
|
53
56
|
inst.generate_style
|
|
54
57
|
inst.generate_web
|
|
58
|
+
inst.generate_numbering
|
|
55
59
|
inst.generate_document
|
|
56
60
|
# root
|
|
57
61
|
inst.generate_content_types
|
data/lib/xml/administrasi.rb
CHANGED
|
@@ -73,6 +73,15 @@ module SistemKebut
|
|
|
73
73
|
@konten = []
|
|
74
74
|
end
|
|
75
75
|
|
|
76
|
+
def longgar?
|
|
77
|
+
@konten.empty?
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def bersih
|
|
81
|
+
@konten.clear
|
|
82
|
+
return nil
|
|
83
|
+
end
|
|
84
|
+
|
|
76
85
|
def arsipkan(xml)
|
|
77
86
|
return false if @konten.find { |i| i.lokasi == xml.lokasi }
|
|
78
87
|
@konten.push(xml)
|
|
@@ -119,6 +128,10 @@ module SistemKebut
|
|
|
119
128
|
praktisi.saring.perform
|
|
120
129
|
end
|
|
121
130
|
end
|
|
131
|
+
|
|
132
|
+
def self.bersih
|
|
133
|
+
@instansi.bersih unless @instansi.longgar?
|
|
134
|
+
end
|
|
122
135
|
end
|
|
123
136
|
end
|
|
124
137
|
end
|
data/lib/xml/builder.rb
CHANGED
|
@@ -78,6 +78,12 @@ module SistemKebut
|
|
|
78
78
|
@konten.length == 1 ? @konten.first : nil
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
+
def raw_serialize(induk)
|
|
82
|
+
return unless @tag == :produk
|
|
83
|
+
@konten.each { |i| induk.append(i) }
|
|
84
|
+
return nil
|
|
85
|
+
end
|
|
86
|
+
|
|
81
87
|
def serialize(nokoxml, warisan=nil)
|
|
82
88
|
proses = proc { |i| i.is_a?(Hash) && i.has_key?(:_konten) }
|
|
83
89
|
dalam = @konten.select(&proses)
|
|
@@ -197,7 +203,7 @@ module SistemKebut
|
|
|
197
203
|
|
|
198
204
|
def raw(elm)
|
|
199
205
|
return nil unless elm.is_a?(Element)
|
|
200
|
-
@kini
|
|
206
|
+
elm.raw_serialize(@kini)
|
|
201
207
|
end
|
|
202
208
|
|
|
203
209
|
def catat_administrasi(id)
|
|
@@ -207,6 +213,7 @@ module SistemKebut
|
|
|
207
213
|
def build(tujuan=nil)
|
|
208
214
|
hasil = inner_build.doc.root
|
|
209
215
|
w_acme(hasil) if hasil.name == "document"
|
|
216
|
+
w_acme(hasil) if hasil.name == "numbering"
|
|
210
217
|
return case tujuan
|
|
211
218
|
when :xml; hasil.to_xml
|
|
212
219
|
else; hasil.serialize(save_with: 0)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: skripsi-generator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Reckordp
|
|
@@ -120,6 +120,9 @@ files:
|
|
|
120
120
|
- lib/sks/istimewa/dasar.rb
|
|
121
121
|
- lib/sks/media/dasar.rb
|
|
122
122
|
- lib/sks/paragraph/dasar.rb
|
|
123
|
+
- lib/sks/paragraph/formulir.rb
|
|
124
|
+
- lib/sks/paragraph/mejasekat.rb
|
|
125
|
+
- lib/sks/paragraph/penomoran.rb
|
|
123
126
|
- lib/sks/remote.rb
|
|
124
127
|
- lib/sks/section/dasar.rb
|
|
125
128
|
- lib/sks/sks.rb
|