modl 0.3.20 → 0.3.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/grammar_tests/base_tests.json +38 -0
- data/lib/modl/parser/class_processor.rb +15 -8
- data/lib/modl/parser/version.rb +1 -1
- 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: 84fb9b34002bed8fe52e89fe76f12c611a4c8d615ba8a4e5e11267c0b6deba99
|
4
|
+
data.tar.gz: 05373b62d95ff9599775eb1bf8a2d8ac060ba3f61baf4569ea63de94bf4d2199
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94d50dfcd3ea5fa3b716aacc1dd39d2f6455c0d325d6b7cc0fb91d31952aafa48fd7c040451ffeb17248ffaff9337e2d3728881223a5916581c2b1529f529afb
|
7
|
+
data.tar.gz: 4216880a6c17df8b73cfa9c7828da975518b1b5dfb7dac7c6b38e996338a6b987673c2e43a136ec4273ba68dad6651c14ce01e495888ab6ffa622819017d9a42
|
data/CHANGELOG.md
CHANGED
@@ -3086,5 +3086,43 @@
|
|
3086
3086
|
"escapes"
|
3087
3087
|
],
|
3088
3088
|
"minimised_modl": "test=\\\\~u2019\\\\u2019~u2019\\\\u2019"
|
3089
|
+
},
|
3090
|
+
{
|
3091
|
+
"id": "324",
|
3092
|
+
"input": "test=~~u2019",
|
3093
|
+
"expected_output": "{\n \"test\": \"~u2019\"\n}",
|
3094
|
+
"tested_features": [
|
3095
|
+
"unicode",
|
3096
|
+
"escapes"
|
3097
|
+
],
|
3098
|
+
"minimised_modl": "test=~~u2019"
|
3099
|
+
},
|
3100
|
+
{
|
3101
|
+
"id": "325",
|
3102
|
+
"input": "test=\\~u2019",
|
3103
|
+
"expected_output": "{\n \"test\": \"~u2019\"\n}",
|
3104
|
+
"tested_features": [
|
3105
|
+
"unicode",
|
3106
|
+
"escapes"
|
3107
|
+
],
|
3108
|
+
"minimised_modl": "test=\\~u2019"
|
3109
|
+
},
|
3110
|
+
{
|
3111
|
+
"id": "326",
|
3112
|
+
"input": "*class(\n *id=v;\n *name=variants;\n *assign=[[variant*]]\n);\n\n*class(\n *id=variant;\n *assign=[[key1;key2;key3]]\n);\n\nv[[one;two;three];[four;five;six]]",
|
3113
|
+
"expected_output": "{\n \"variants\": [\n {\n \"key1\": \"one\",\n \"key2\": \"two\",\n \"key3\": \"three\"\n },\n {\n \"key1\": \"four\",\n \"key2\": \"five\",\n \"key3\": \"six\"\n }\n ]\n}",
|
3114
|
+
"tested_features": [
|
3115
|
+
"class"
|
3116
|
+
],
|
3117
|
+
"minimised_modl": "*class(*id=v;*name=variants;*assign=[[variant*]]);*class(*id=variant;*assign=[[key1;key2;key3]]);v[[one;two;three];[four;five;six]]"
|
3118
|
+
},
|
3119
|
+
{
|
3120
|
+
"id": "327",
|
3121
|
+
"input": "*class(\n *id=v;\n *name=variants;\n *assign=[[variant*]]\n);\n\n*class(\n *id=variant;\n *assign=[[key1;key2;key3]]\n);\n\nv[one:two:three]",
|
3122
|
+
"expected_output": "{\n \"variants\": [\n {\n \"key1\": \"one\",\n \"key2\": \"two\",\n \"key3\": \"three\"\n }\n ]\n}",
|
3123
|
+
"tested_features": [
|
3124
|
+
"class"
|
3125
|
+
],
|
3126
|
+
"minimised_modl": "*class(*id=v;*name=variants;*assign=[[variant*]]);*class(*id=variant;*assign=[[key1;key2;key3]]);v[[one;two;three];[four;five;six]]"
|
3089
3127
|
}
|
3090
3128
|
]
|
@@ -254,6 +254,7 @@ module MODL
|
|
254
254
|
result = true
|
255
255
|
lists.each do |list|
|
256
256
|
list.each do |item|
|
257
|
+
item = Sutil.head(item) if item.end_with? '*'
|
257
258
|
global_class = global.classs(item)
|
258
259
|
result &= (!global_class.nil? && has_assign_statement?(global_class, global))
|
259
260
|
end
|
@@ -353,18 +354,24 @@ module MODL
|
|
353
354
|
end
|
354
355
|
end
|
355
356
|
end
|
357
|
+
new_value.keys do |nk|
|
358
|
+
process_obj global, new_value[nk]
|
359
|
+
end
|
360
|
+
|
361
|
+
process_nested_classes(global, new_value)
|
362
|
+
clazz.merge_content(new_value)
|
356
363
|
else
|
357
364
|
keys.each_index do |i|
|
358
|
-
|
365
|
+
tmp_value = {keys[i] => v[i]}
|
366
|
+
process_obj global, tmp_value
|
367
|
+
if !global.classs(keys[i]).nil? && !tmp_value[keys[i]].nil? && (tmp_value[keys[i]].is_a?(Hash) || tmp_value[keys[i]].is_a?(Array))
|
368
|
+
new_value[i] = tmp_value[keys[i]]
|
369
|
+
else
|
370
|
+
new_value.merge! tmp_value
|
371
|
+
end
|
359
372
|
end
|
373
|
+
new_value
|
360
374
|
end
|
361
|
-
|
362
|
-
new_value.keys do |nk|
|
363
|
-
process_obj global, new_value[nk]
|
364
|
-
end
|
365
|
-
|
366
|
-
process_nested_classes(global, new_value)
|
367
|
-
clazz.merge_content(new_value)
|
368
375
|
end
|
369
376
|
|
370
377
|
# Find a *assign key list of a specific length
|
data/lib/modl/parser/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: modl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tony Walmsley
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|