carwash 1.0.5 → 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/carwash/value_discoverer.rb +14 -1
- data/lib/carwash/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4db8f621bb66ead951cd9ba7fc599171653c225c
|
4
|
+
data.tar.gz: c47e0944bc3fc87b4e21b76ea526bd8bedf9cd0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d562ecb14545ab964b7d28e72d17093b77d842fb47f60946de42fe9c0bee80dea832348a8c5c9bbe57944a31926ad10391e72594e4d0e67a7046cb2f7d825995
|
7
|
+
data.tar.gz: 4a14ffdb810e9569f3da63dd183e24527e8d0004bec5ba4972b88db97de5e8299bc23c1e11d3c86c096dc16f0945b4dd47c70e56a7e3f001480ad45e8d3b395c
|
@@ -11,6 +11,17 @@
|
|
11
11
|
# KEY: value
|
12
12
|
# KEY => value
|
13
13
|
class Carwash::ValueDiscoverer < Struct.new(:key)
|
14
|
+
ESCAPE_CHARACTERS = {
|
15
|
+
"\\0" => "\0",
|
16
|
+
"\\a" => "\a",
|
17
|
+
"\\b" => "\b",
|
18
|
+
"\\f" => "\f",
|
19
|
+
"\\n" => "\n",
|
20
|
+
"\\r" => "\r",
|
21
|
+
"\\t" => "\t",
|
22
|
+
"\\v" => "\v",
|
23
|
+
}
|
24
|
+
|
14
25
|
def discover(line)
|
15
26
|
patterns.flat_map { |pattern|
|
16
27
|
line.scan(pattern).map(&:first)
|
@@ -28,6 +39,8 @@ class Carwash::ValueDiscoverer < Struct.new(:key)
|
|
28
39
|
end
|
29
40
|
|
30
41
|
def unescape_value(value)
|
31
|
-
value.gsub(/\\(.)/) {
|
42
|
+
value.gsub(/\\(.)/) { |match|
|
43
|
+
ESCAPE_CHARACTERS.fetch(match, $1)
|
44
|
+
}
|
32
45
|
end
|
33
46
|
end
|
data/lib/carwash/version.rb
CHANGED