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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d559bc6cb0b4d325e285d59b098e66141dcf6d8e
4
- data.tar.gz: 2fc6b36b9ae7b0718dc02f07c4d4e3cf69afd385
3
+ metadata.gz: 4db8f621bb66ead951cd9ba7fc599171653c225c
4
+ data.tar.gz: c47e0944bc3fc87b4e21b76ea526bd8bedf9cd0b
5
5
  SHA512:
6
- metadata.gz: de4df85bb09518aeb399879a4a5b2e04c44b9a9a86e4046830637864a37526a0fcb3801836b9445b3b5d410fd8a38ed25530e61daa65f9f612ce376fde1139f2
7
- data.tar.gz: 4738821566324ae37176b9e29bcc75c40e9973df3aa2a36b5e106ee5d991821bd858b13489638bb67a1d19950a29770d8ebc1e7b12cabf2a047ae01f56a4ed99
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(/\\(.)/) { $1 }
42
+ value.gsub(/\\(.)/) { |match|
43
+ ESCAPE_CHARACTERS.fetch(match, $1)
44
+ }
32
45
  end
33
46
  end
@@ -1,3 +1,3 @@
1
1
  module Carwash
2
- VERSION = "1.0.5"
2
+ VERSION = "1.0.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carwash
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Clark