rvs 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|