immosquare-yaml 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/lib/immosquare-yaml/version.rb +1 -1
- data/lib/immosquare-yaml.rb +19 -8
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b52683e890b1d956eae3105cea9e41abf49ddd14d549fb76a4490f8f851d0855
|
|
4
|
+
data.tar.gz: fb4b1fe155dd11b4a13c7b4dcd88e91839a1b9d9af8e5aeb2205ffa86c925f6c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eee507c91cb95ac3ff5e87f15570f664622c0be05f449bad60823687e3f7cd71e54b9aef52a74b6799e04a7fdc8a4b855e3f217cbc6fef20861898c957433374
|
|
7
|
+
data.tar.gz: 7f05834fc1b5e22c25d021b7eed1f6b77e3575a6a86d3c2794cf2c1b8bc0e193443b50c770acf0af5f5deb1dbc9001574242272d0b5065476dd42978daca56a4
|
data/lib/immosquare-yaml.rb
CHANGED
|
@@ -314,16 +314,17 @@ module ImmosquareYaml
|
|
|
314
314
|
|
|
315
315
|
##============================================================##
|
|
316
316
|
## Choix du style de quoting :
|
|
317
|
-
## -
|
|
318
|
-
##
|
|
319
|
-
##
|
|
320
|
-
##
|
|
321
|
-
##
|
|
317
|
+
## - double-quoted par défaut (cohérent avec la règle Ruby
|
|
318
|
+
## globale "double quotes obligatoires")
|
|
319
|
+
## - single-quoted seulement si la valeur contient un " ou
|
|
320
|
+
## un \ (qui devraient être échappés en double-quoted),
|
|
321
|
+
## sauf si la valeur contient aussi un \t qui ne peut être
|
|
322
|
+
## représenté qu'en double-quoted.
|
|
322
323
|
##============================================================##
|
|
323
|
-
if value.include?(
|
|
324
|
-
|
|
324
|
+
if (value.include?(DOUBLE_QUOTE) || value.include?("\\")) && !value.include?("\t")
|
|
325
|
+
yaml_single_quote(value)
|
|
325
326
|
else
|
|
326
|
-
|
|
327
|
+
yaml_double_quote(value)
|
|
327
328
|
end
|
|
328
329
|
end
|
|
329
330
|
|
|
@@ -337,6 +338,16 @@ module ImmosquareYaml
|
|
|
337
338
|
"\"#{escaped}\""
|
|
338
339
|
end
|
|
339
340
|
|
|
341
|
+
##============================================================##
|
|
342
|
+
## Échappe une string pour la sérialiser en YAML single-quoted.
|
|
343
|
+
## En single-quoted, le seul caractère à échapper est l'apostrophe
|
|
344
|
+
## elle-même, doublée. Ni \, ni " ne sont interprétés.
|
|
345
|
+
##============================================================##
|
|
346
|
+
def yaml_single_quote(value)
|
|
347
|
+
escaped = value.gsub(SIMPLE_QUOTE, DOUBLE_SIMPLE_QUOTE)
|
|
348
|
+
"#{SIMPLE_QUOTE}#{escaped}#{SIMPLE_QUOTE}"
|
|
349
|
+
end
|
|
350
|
+
|
|
340
351
|
##============================================================##
|
|
341
352
|
## Retire récursivement les paires de guillemets englobants.
|
|
342
353
|
## Sert pour les fichiers historiques produits par v0.1.28
|