rvs 0.1.2 → 0.1.3
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.
- data/lib/rvs/parse.rb +3 -7
- data/lib/rvs/to_rvs.rb +2 -7
- data/test/rvs.dt.rb +3 -3
- metadata +4 -4
data/lib/rvs/parse.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'strscan'
|
2
2
|
require 'bigdecimal'
|
3
|
+
require 'yajl'
|
3
4
|
|
4
5
|
module RVS
|
5
6
|
class Parser
|
@@ -22,10 +23,9 @@ class Parser
|
|
22
23
|
get_chars(1)
|
23
24
|
''
|
24
25
|
else
|
25
|
-
|
26
|
+
strval = '"' + @scan.scan(/.*?[^\\]+?\"/)
|
27
|
+
Yajl::Parser.new.parse(strval)
|
26
28
|
end
|
27
|
-
elsif next_char == 's'
|
28
|
-
reverse_special_chars(get_chars(@scan.scan_until(/:/).chop.to_i))
|
29
29
|
elsif next_char == ':'
|
30
30
|
@scan.scan(/[a-zA-z_]+\w*/).to_sym
|
31
31
|
elsif next_char == 'd'
|
@@ -104,10 +104,6 @@ class Parser
|
|
104
104
|
retval
|
105
105
|
end
|
106
106
|
|
107
|
-
def reverse_special_chars(str)
|
108
|
-
str.gsub(/\\n/, "\n").gsub(/\\r/, "\r").gsub(/\\t/, "\t")
|
109
|
-
end
|
110
|
-
|
111
107
|
def get_chars(count)
|
112
108
|
retval = @scan.peek(count)
|
113
109
|
@scan.pos = @scan.pos + count
|
data/lib/rvs/to_rvs.rb
CHANGED
@@ -1,16 +1,11 @@
|
|
1
1
|
require 'bigdecimal'
|
2
2
|
require 'date'
|
3
3
|
require 'time'
|
4
|
+
require 'yajl'
|
4
5
|
|
5
6
|
class String
|
6
7
|
def to_rvs
|
7
|
-
|
8
|
-
no_specials = gsub(/\n/, '\n').gsub(/\r/, '\r').gsub(/\t/, '\t')
|
9
|
-
if index('"') || index('\\')
|
10
|
-
"s#{size}:#{no_specials}"
|
11
|
-
else
|
12
|
-
%Q{"#{no_specials}"}
|
13
|
-
end
|
8
|
+
Yajl::Encoder.encode(self)
|
14
9
|
end
|
15
10
|
end
|
16
11
|
|
data/test/rvs.dt.rb
CHANGED
@@ -87,8 +87,8 @@ class Test_rvs < DohTest::TestGroup
|
|
87
87
|
verify('blahblee', %q{"blahblee"})
|
88
88
|
verify("blahblee\n\r\t", %q{"blahblee\n\r\t"})
|
89
89
|
verify('blahb\'lee', %q{"blahb'lee"})
|
90
|
-
verify('blahb\\lee', %q{
|
91
|
-
verify('blahb"lee', %q{
|
92
|
-
verify('blahb\'le"e', %q{
|
90
|
+
verify('blahb\\lee', %q{"blahb\\\lee"})
|
91
|
+
verify('blahb"lee', %q{"blahb\"lee"})
|
92
|
+
verify('blahb\'le"e', %q{"blahb'le\"e"})
|
93
93
|
end
|
94
94
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rvs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-02-
|
13
|
+
date: 2012-02-27 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: dohtest
|
17
|
-
requirement: &
|
17
|
+
requirement: &70185437504820 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
version: 0.1.4
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70185437504820
|
26
26
|
description: serialization of common ruby value classes to ascii text
|
27
27
|
email:
|
28
28
|
- devinfo@atpsoft.com
|