slaw 7.0.0 → 8.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -0
- data/lib/slaw/grammars/core_nodes.rb +3 -3
- data/lib/slaw/grammars/za/act_nodes.rb +4 -14
- data/lib/slaw/parse/builder.rb +1 -8
- data/lib/slaw/version.rb +1 -1
- data/spec/za/act_schedules_spec.rb +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0c018a71314291d2304ba458300e360da8555bfe6df1d4348fcba8bb4501700
|
4
|
+
data.tar.gz: 5c68a881a0d52f54b28998fe195d877a068361c3750a254e8f88e3479c24f056
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5538b79f68d5db2289d713a0db9760147bb3baf4a986d63d0a9097fc86af95df6e6b3c8637eeaccd25834b4c79b8cadedf50c107c60833c8fb90382d7559f43f
|
7
|
+
data.tar.gz: d9bdcf5780887407f8ab397e765b6df83de5d54e1898a71792f0560a74044d1216e41b30e6166cc86974719fc4007513db82340c927117dec6087b974b176f1b
|
data/README.md
CHANGED
@@ -81,6 +81,11 @@ You can create your own grammar by creating a gem that provides these files and
|
|
81
81
|
|
82
82
|
## Changelog
|
83
83
|
|
84
|
+
### 8.0.0 (19 Feb 2020)
|
85
|
+
|
86
|
+
* Obey --id-prefix for group nodes
|
87
|
+
* Ensure that schedules prefix their children, for those that require it (parts and chapters)
|
88
|
+
|
84
89
|
### 7.0.0 (31 Jan 2020)
|
85
90
|
|
86
91
|
* Lists ids are now numbered sequentially, rather than by tree position
|
@@ -1,13 +1,13 @@
|
|
1
1
|
module Slaw
|
2
2
|
module Grammars
|
3
3
|
class GroupNode < Treetop::Runtime::SyntaxNode
|
4
|
-
def to_xml(b,
|
5
|
-
children.elements.each { |e| e.to_xml(b,
|
4
|
+
def to_xml(b, id_prefix='')
|
5
|
+
children.elements.each { |e| e.to_xml(b, id_prefix) }
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
9
|
class Body < Treetop::Runtime::SyntaxNode
|
10
|
-
def to_xml(b)
|
10
|
+
def to_xml(b, id_prefix='')
|
11
11
|
b.body { |b|
|
12
12
|
children.elements.each_with_index { |e, i| e.to_xml(b, '', i) }
|
13
13
|
}
|
@@ -137,13 +137,8 @@ module Slaw
|
|
137
137
|
heading.num
|
138
138
|
end
|
139
139
|
|
140
|
-
def to_xml(b, *args)
|
141
|
-
id = "part-#{num}"
|
142
|
-
|
143
|
-
# include a chapter number in the id if our parent has one
|
144
|
-
if parent and parent.parent.is_a?(Chapter) and parent.parent.num
|
145
|
-
id = "chapter-#{parent.parent.num}.#{id}"
|
146
|
-
end
|
140
|
+
def to_xml(b, id_prefix='', *args)
|
141
|
+
id = id_prefix + "part-#{num}"
|
147
142
|
|
148
143
|
b.part(id: id) { |b|
|
149
144
|
heading.to_xml(b)
|
@@ -172,13 +167,8 @@ module Slaw
|
|
172
167
|
heading.num
|
173
168
|
end
|
174
169
|
|
175
|
-
def to_xml(b, *args)
|
176
|
-
id = "chapter-#{num}"
|
177
|
-
|
178
|
-
# include a part number in the id if our parent has one
|
179
|
-
if parent and parent.parent.is_a?(Part) and parent.parent.num
|
180
|
-
id = "part-#{parent.parent.num}.#{id}"
|
181
|
-
end
|
170
|
+
def to_xml(b, id_prefix='', *args)
|
171
|
+
id = id_prefix + "chapter-#{num}"
|
182
172
|
|
183
173
|
b.chapter(id: id) { |b|
|
184
174
|
heading.to_xml(b)
|
data/lib/slaw/parse/builder.rb
CHANGED
@@ -148,14 +148,7 @@ module Slaw
|
|
148
148
|
builder.akomaNtoso("xmlns:xsi"=> "http://www.w3.org/2001/XMLSchema-instance",
|
149
149
|
"xsi:schemaLocation" => "http://www.akomantoso.org/2.0 akomantoso20.xsd",
|
150
150
|
"xmlns" => NS) do |b|
|
151
|
-
|
152
|
-
|
153
|
-
# should we provide an id prefix?
|
154
|
-
arity = tree.method('to_xml').arity
|
155
|
-
arity = arity.abs-1 if arity < 0
|
156
|
-
args << (fragment_id_prefix || "") if arity > 1
|
157
|
-
|
158
|
-
tree.to_xml(*args)
|
151
|
+
tree.to_xml(b, fragment_id_prefix || '')
|
159
152
|
end
|
160
153
|
|
161
154
|
builder.to_xml(encoding: 'UTF-8')
|
data/lib/slaw/version.rb
CHANGED
@@ -383,19 +383,19 @@ EOS
|
|
383
383
|
<hcontainer id="schedule1" name="schedule">
|
384
384
|
<heading>Schedule 1</heading>
|
385
385
|
<subheading>Forms</subheading>
|
386
|
-
<part id="part-I">
|
386
|
+
<part id="schedule1.part-I">
|
387
387
|
<num>I</num>
|
388
388
|
<heading>Form of authentication statement</heading>
|
389
|
-
<paragraph id="part-I.paragraph0">
|
389
|
+
<paragraph id="schedule1.part-I.paragraph0">
|
390
390
|
<content>
|
391
391
|
<p>This printed impression has been carefully compared by me with the bill which was passed by Parliament and found by me to be a true copy of the bill.</p>
|
392
392
|
</content>
|
393
393
|
</paragraph>
|
394
394
|
</part>
|
395
|
-
<part id="part-II">
|
395
|
+
<part id="schedule1.part-II">
|
396
396
|
<num>II</num>
|
397
397
|
<heading>Form of statement of the President’s assent.</heading>
|
398
|
-
<paragraph id="part-II.paragraph0">
|
398
|
+
<paragraph id="schedule1.part-II.paragraph0">
|
399
399
|
<content>
|
400
400
|
<p>I signify my assent to the bill and a whole bunch of other stuff.</p>
|
401
401
|
</content>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slaw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Kempe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|