transit-ruby 0.8.467 → 0.8.539
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
- checksums.yaml.gz.sig +1 -1
- data.tar.gz.sig +0 -0
- data/README.md +9 -4
- data/lib/transit.rb +22 -0
- data/lib/transit/date_time_util.rb +2 -2
- data/lib/transit/marshaler/base.rb +179 -0
- data/lib/transit/marshaler/cruby/json.rb +94 -0
- data/lib/transit/marshaler/cruby/messagepack.rb +60 -0
- data/lib/transit/read_handlers.rb +16 -1
- data/lib/transit/reader.rb +2 -54
- data/lib/transit/unmarshaler/cruby/json.rb +55 -0
- data/lib/transit/unmarshaler/cruby/messagepack.rb +39 -0
- data/lib/transit/write_handlers.rb +36 -4
- data/lib/transit/writer.rb +19 -288
- data/spec/spec_helper.rb +14 -0
- data/spec/transit/exemplar_spec.rb +2 -1
- data/spec/transit/reader_spec.rb +12 -4
- data/spec/transit/round_trip_spec.rb +29 -36
- data/spec/transit/writer_spec.rb +32 -6
- metadata +23 -60
- metadata.gz.sig +3 -1
data/spec/spec_helper.rb
CHANGED
@@ -37,11 +37,25 @@ require 'wrong/adapters/rspec'
|
|
37
37
|
require 'transit'
|
38
38
|
require 'spec_helper-local' if File.exist?(File.expand_path('../spec_helper-local.rb', __FILE__))
|
39
39
|
|
40
|
+
if Transit::jruby?
|
41
|
+
require 'transit/unmarshaler/jruby/messagepack'
|
42
|
+
end
|
43
|
+
|
40
44
|
RSpec.configure do |c|
|
41
45
|
c.alias_example_to :fit, :focus => true
|
42
46
|
c.filter_run_including :focus => true, :focused => true
|
47
|
+
c.filter_run_excluding :jruby => true
|
43
48
|
c.run_all_when_everything_filtered = true
|
44
49
|
c.mock_with :nothing
|
50
|
+
|
51
|
+
c.before(:suite) do
|
52
|
+
# TODO: make it work later
|
53
|
+
#if Transit::jruby?
|
54
|
+
# require 'rake'
|
55
|
+
# load File.expand_path("Rakefile")
|
56
|
+
# Rake::Task['compile'].invoke
|
57
|
+
#end
|
58
|
+
end
|
45
59
|
end
|
46
60
|
|
47
61
|
ALPHA_NUM = 'abcdefghijklmnopqrstuvwxyzABCDESFHIJKLMNOPQRSTUVWXYZ_0123456789'
|
@@ -112,7 +112,8 @@ EXEMPLARS = [
|
|
112
112
|
Exemplar.new("vector_unrecognized_vals", ["~Unrecognized"]),
|
113
113
|
Exemplar.new("vector_1935_keywords_repeated_twice", array_of_symbols(1935, 3870)),
|
114
114
|
Exemplar.new("vector_1936_keywords_repeated_twice", array_of_symbols(1936, 3872)),
|
115
|
-
Exemplar.new("vector_1937_keywords_repeated_twice", array_of_symbols(1937, 3874))
|
115
|
+
Exemplar.new("vector_1937_keywords_repeated_twice", array_of_symbols(1937, 3874)),
|
116
|
+
Exemplar.new("vector_special_numbers", [Float::NAN, Float::INFINITY, -Float::INFINITY])
|
116
117
|
]
|
117
118
|
|
118
119
|
[10, 1935, 1936, 1937].each do |i|
|
data/spec/transit/reader_spec.rb
CHANGED
@@ -115,12 +115,20 @@ module Transit
|
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
118
|
+
describe 'Dates/Times' do
|
119
|
+
it "delivers a UTC DateTime for a non-UTC date string" do
|
120
|
+
io = StringIO.new(["~t2014-04-14T12:20:50.152-05:00"].to_json)
|
121
|
+
reader = Reader.new(:json, io)
|
122
|
+
expect(Transit::DateTimeUtil.to_millis(reader.read.first)).to eq(Transit::DateTimeUtil.to_millis(DateTime.new(2014,4,14,17,20,50.152,"Z")))
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
118
126
|
describe 'edge cases found in generative testing' do
|
119
|
-
it '
|
120
|
-
io = StringIO.new(["~#cmap",[["~#
|
127
|
+
it 'caches nested structures correctly' do
|
128
|
+
io = StringIO.new(["~#cmap",[["~#point",["~n10","~n11"]],"~:foobar",["^1",["~n10","~n13"]],"^2"]].to_json)
|
121
129
|
reader = Reader.new(:json, io)
|
122
|
-
expected = {TaggedValue.new("
|
123
|
-
TaggedValue.new("
|
130
|
+
expected = {TaggedValue.new("point", [10,11]) => :foobar,
|
131
|
+
TaggedValue.new("point", [10,13]) => :foobar}
|
124
132
|
assert { reader.read == expected }
|
125
133
|
end
|
126
134
|
end
|
@@ -14,6 +14,10 @@
|
|
14
14
|
|
15
15
|
require 'spec_helper'
|
16
16
|
|
17
|
+
def nan?(obj)
|
18
|
+
obj.respond_to?(:nan?) and obj.nan?
|
19
|
+
end
|
20
|
+
|
17
21
|
def round_trip(obj, type, opts={})
|
18
22
|
obj_before = obj
|
19
23
|
|
@@ -22,63 +26,48 @@ def round_trip(obj, type, opts={})
|
|
22
26
|
writer.write(obj)
|
23
27
|
|
24
28
|
# ensure that we don't modify the object being written
|
25
|
-
|
29
|
+
if nan?(obj_before)
|
30
|
+
assert { obj.nan? }
|
31
|
+
else
|
32
|
+
assert { obj == obj_before }
|
33
|
+
end
|
26
34
|
reader = Transit::Reader.new(type, StringIO.new(io.string), :handlers => opts[:read_handlers])
|
27
35
|
reader.read
|
28
36
|
end
|
29
37
|
|
30
38
|
def assert_equal_times(actual,expected)
|
39
|
+
return false unless expected.is_a?(Date) || expected.is_a?(Time) || expected.is_a?(DateTime)
|
31
40
|
assert { Transit::DateTimeUtil.to_millis(actual) == Transit::DateTimeUtil.to_millis(expected) }
|
32
41
|
assert { actual.zone == expected.zone }
|
33
42
|
end
|
34
43
|
|
44
|
+
def assert_nan(actual,expected)
|
45
|
+
return false unless nan?(expected)
|
46
|
+
expect(actual.respond_to?(:nan?)).to eq(true)
|
47
|
+
expect(actual.nan?).to eq(true)
|
48
|
+
end
|
49
|
+
|
50
|
+
def validate(expected, actual)
|
51
|
+
assert_equal_times(actual, expected) || assert_nan(actual, expected) || (expect(actual).to eq(expected))
|
52
|
+
end
|
53
|
+
|
35
54
|
def round_trips(label, obj, type, opts={})
|
36
55
|
expected = opts[:expected] || obj
|
37
56
|
|
38
57
|
it "round trips #{label} at top level", :focus => !!opts[:focus], :pending => opts[:pending] do
|
39
|
-
|
40
|
-
when Date, Time, DateTime
|
41
|
-
assert_equal_times(round_trip(obj, type), expected)
|
42
|
-
else
|
43
|
-
actual = round_trip(obj, type, opts)
|
44
|
-
expect(actual).to eq(expected)
|
45
|
-
end
|
58
|
+
validate(expected, round_trip(obj, type, opts))
|
46
59
|
end
|
47
60
|
|
48
|
-
|
49
|
-
|
50
|
-
it "round trips #{label} as a map key", :focus => !!opts[:focus], :pending => opts[:pending] do
|
51
|
-
after = round_trip({obj => 0}, type)
|
52
|
-
assert_equal_times(after.keys.first, expected)
|
53
|
-
end
|
54
|
-
else
|
55
|
-
it "round trips #{label} as a map key", :focus => !!opts[:focus], :pending => opts[:pending] do
|
56
|
-
actual = round_trip({obj => 0}, type, opts)
|
57
|
-
wrapped_expected = {expected => 0}
|
58
|
-
assert { actual == wrapped_expected }
|
59
|
-
end
|
61
|
+
it "round trips #{label} as a map key", :focus => !!opts[:focus], :pending => opts[:pending] do
|
62
|
+
validate(expected, round_trip({obj => 0}, type, opts).keys.first)
|
60
63
|
end
|
61
64
|
|
62
65
|
it "round trips #{label} as a map value", :focus => !!opts[:focus], :pending => opts[:pending] do
|
63
|
-
|
64
|
-
when Date, Time, DateTime
|
65
|
-
after = round_trip({:a => obj}, type)
|
66
|
-
assert_equal_times(after.values.first, expected)
|
67
|
-
else
|
68
|
-
actual = round_trip({a: obj}, type, opts)
|
69
|
-
assert { actual == {a: expected} }
|
70
|
-
end
|
66
|
+
validate(expected, round_trip({a: obj}, type, opts).values.first)
|
71
67
|
end
|
72
68
|
|
73
69
|
it "round trips #{label} as an array value", :focus => !!opts[:focus], :pending => opts[:pending] do
|
74
|
-
|
75
|
-
when Date, Time, DateTime
|
76
|
-
after = round_trip([obj], type)
|
77
|
-
assert_equal_times(after.first, expected)
|
78
|
-
else
|
79
|
-
actual = round_trip([obj], type, opts)
|
80
|
-
assert { actual == [expected] }
|
81
|
-
end
|
70
|
+
validate(expected, round_trip([obj], type, opts).first)
|
82
71
|
end
|
83
72
|
end
|
84
73
|
|
@@ -118,6 +107,9 @@ module Transit
|
|
118
107
|
round_trips("a big int", 123456789012345, type)
|
119
108
|
round_trips("a very big int", 123456789012345679012345678890, type)
|
120
109
|
round_trips("a float", 1234.56, type)
|
110
|
+
round_trips("NaN", Float::NAN, type)
|
111
|
+
round_trips("Infinity", Float::INFINITY, type)
|
112
|
+
round_trips("-Infinity", -Float::INFINITY, type)
|
121
113
|
round_trips("a bigdec", BigDecimal.new("123.45"), type)
|
122
114
|
round_trips("an instant (DateTime local)", DateTime.new(2014,1,2,3,4,5, "-5"), type,
|
123
115
|
:expected => DateTime.new(2014,1,2, (3+5) ,4,5, "+00:00"))
|
@@ -163,6 +155,7 @@ module Transit
|
|
163
155
|
round_trips("a nested structure (map on top)", {a: [1, [{b: "~c"}]]}, type)
|
164
156
|
round_trips("a nested structure (array on top)", [37, {a: [1, [{b: "~c"}]]}], type)
|
165
157
|
round_trips("a map that looks like transit data", [{"~#set"=>[1,2,3]},{"~#set"=>[4,5,6]}], type)
|
158
|
+
round_trips("a ratio of big value", [{"~#ratio"=>["~n36893488147419103231","~n73786976294838206463"]}], type)
|
166
159
|
end
|
167
160
|
|
168
161
|
describe "Transit using json" do
|
data/spec/transit/writer_spec.rb
CHANGED
@@ -46,7 +46,16 @@ module Transit
|
|
46
46
|
marshals_scalar("a Fixnum", 9007199254740999, "~i9007199254740999")
|
47
47
|
marshals_scalar("a Bignum", 9223372036854775806, "~i9223372036854775806")
|
48
48
|
marshals_scalar("a Very Bignum", 4256768765123454321897654321234567, "~n4256768765123454321897654321234567")
|
49
|
-
|
49
|
+
# Ruby's base64 encoding adds line feed in every 60 encoded
|
50
|
+
# characters, while Java,
|
51
|
+
# org.apache.commons.codec.binary.Base64, doesn't add any. Java
|
52
|
+
# method has option to add line feed, but every 76 characters.
|
53
|
+
# this divergence may be inevitable
|
54
|
+
if Transit::jruby?
|
55
|
+
marshals_scalar("a ByteArray", ByteArray.new(bytes), "~b#{ByteArray.new(bytes).to_base64}".gsub(/\n/, ""))
|
56
|
+
else
|
57
|
+
marshals_scalar("a ByteArray", ByteArray.new(bytes), "~b#{ByteArray.new(bytes).to_base64}")
|
58
|
+
end
|
50
59
|
marshals_scalar("an URI", Addressable::URI.parse("http://example.com/search"), "~rhttp://example.com/search")
|
51
60
|
marshals_structure("a link",
|
52
61
|
Link.new(Addressable::URI.parse("http://example.com/search"), "search", nil, "link", nil),
|
@@ -57,6 +66,8 @@ module Transit
|
|
57
66
|
"render" => "link",
|
58
67
|
"prompt" => nil}})
|
59
68
|
marshals_structure("a TaggedValue", TaggedValue.new("tag", "value"), {"~#tag" => "value"})
|
69
|
+
marshals_structure("a ratio by Rational class", Rational(1, 3), {"~#ratio" => [1, 3]})
|
70
|
+
marshals_structure("a Rational with big number", Rational(4953778853208128465, 636801457410081246), {"~#ratio" => ["~i4953778853208128465", "~i636801457410081246"]})
|
60
71
|
end
|
61
72
|
|
62
73
|
describe "custom handlers" do
|
@@ -65,7 +76,13 @@ module Transit
|
|
65
76
|
def tag(_) nil end
|
66
77
|
end
|
67
78
|
writer = Writer.new(:json_verbose, io, :handlers => {Date => handler.new})
|
68
|
-
|
79
|
+
# transit-java returns the error message "Not supported:
|
80
|
+
# 2014-08-20". JRuby tests the error will be raised
|
81
|
+
if Transit::jruby?
|
82
|
+
assert { rescuing { writer.write(Date.today) }.is_a?(RuntimeError) }
|
83
|
+
else
|
84
|
+
assert { rescuing { writer.write(Date.today) }.message =~ /must provide a non-nil tag/ }
|
85
|
+
end
|
69
86
|
end
|
70
87
|
|
71
88
|
it "supports custom handlers for core types" do
|
@@ -204,17 +221,19 @@ module Transit
|
|
204
221
|
describe "MESSAGE_PACK" do
|
205
222
|
let(:writer) { Writer.new(:msgpack, io) }
|
206
223
|
|
207
|
-
|
224
|
+
# JRuby skips these 3 examples since they use raw massage pack
|
225
|
+
# api. Also, JRuby doesn't hava good counterpart.
|
226
|
+
it "writes a single-char tagged-value as a 2-element array", :jruby => Transit::jruby? do
|
208
227
|
writer.write(TaggedValue.new("a","bc"))
|
209
228
|
assert { MessagePack::Unpacker.new(StringIO.new(io.string)).read == ["~#'", "~abc"] }
|
210
229
|
end
|
211
230
|
|
212
|
-
it "writes a multi-char tagged-value as a 2-element array" do
|
231
|
+
it "writes a multi-char tagged-value as a 2-element array", :jruby => Transit::jruby? do
|
213
232
|
writer.write(TaggedValue.new("abc","def"))
|
214
233
|
assert { MessagePack::Unpacker.new(StringIO.new(io.string)).read == ["~#abc", "def"] }
|
215
234
|
end
|
216
235
|
|
217
|
-
it "writes a top-level scalar as a quote-tagged value" do
|
236
|
+
it "writes a top-level scalar as a quote-tagged value", :jruby => Transit::jruby? do
|
218
237
|
writer.write("this")
|
219
238
|
assert { MessagePack::Unpacker.new(StringIO.new(io.string)).read == ["~#'", "this"] }
|
220
239
|
end
|
@@ -269,7 +288,14 @@ module Transit
|
|
269
288
|
it 'raises when there is no handler for the type' do
|
270
289
|
type = Class.new
|
271
290
|
obj = type.new
|
272
|
-
|
291
|
+
# transit-java returns the error message "Not supported:
|
292
|
+
# #<#<Class:0x12d40609>:0x76437e9b>". JRuby tests error will
|
293
|
+
# be raised.
|
294
|
+
if Transit::jruby?
|
295
|
+
assert { rescuing { writer.write(obj) }.is_a?(RuntimeError) }
|
296
|
+
else
|
297
|
+
assert { rescuing { writer.write(obj) }.message =~ /Can not find a Write Handler/ }
|
298
|
+
end
|
273
299
|
end
|
274
300
|
end
|
275
301
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transit-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.539
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Russ Olsen
|
@@ -33,28 +33,22 @@ cert_chain:
|
|
33
33
|
jTUiQ3C5kyy08BEMP/x+MtvWcT2dmub6YZ7uYGfNsYcuGKXLIs5Ew95ebzWGJ16M
|
34
34
|
PSs4XGS0
|
35
35
|
-----END CERTIFICATE-----
|
36
|
-
date: 2014-
|
36
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
37
37
|
dependencies:
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
|
-
name:
|
39
|
+
name: oj
|
40
40
|
requirement: !ruby/object:Gem::Requirement
|
41
41
|
requirements:
|
42
42
|
- - "~>"
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: 2.
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 2.3.6
|
44
|
+
version: 2.10.1
|
48
45
|
type: :runtime
|
49
46
|
prerelease: false
|
50
47
|
version_requirements: !ruby/object:Gem::Requirement
|
51
48
|
requirements:
|
52
49
|
- - "~>"
|
53
50
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.
|
55
|
-
- - ">="
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: 2.3.6
|
51
|
+
version: 2.10.1
|
58
52
|
- !ruby/object:Gem::Dependency
|
59
53
|
name: msgpack
|
60
54
|
requirement: !ruby/object:Gem::Requirement
|
@@ -62,9 +56,6 @@ dependencies:
|
|
62
56
|
- - "~>"
|
63
57
|
- !ruby/object:Gem::Version
|
64
58
|
version: 0.5.8
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: 0.5.8
|
68
59
|
type: :runtime
|
69
60
|
prerelease: false
|
70
61
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -72,29 +63,6 @@ dependencies:
|
|
72
63
|
- - "~>"
|
73
64
|
- !ruby/object:Gem::Version
|
74
65
|
version: 0.5.8
|
75
|
-
- - ">="
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 0.5.8
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: oj
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
requirements:
|
82
|
-
- - "~>"
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: 2.9.9
|
85
|
-
- - ">="
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: 2.9.9
|
88
|
-
type: :runtime
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
requirements:
|
92
|
-
- - "~>"
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: 2.9.9
|
95
|
-
- - ">="
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
version: 2.9.9
|
98
66
|
- !ruby/object:Gem::Dependency
|
99
67
|
name: yard
|
100
68
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,9 +70,6 @@ dependencies:
|
|
102
70
|
- - "~>"
|
103
71
|
- !ruby/object:Gem::Version
|
104
72
|
version: 0.8.7.4
|
105
|
-
- - ">="
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
version: 0.8.7.4
|
108
73
|
type: :development
|
109
74
|
prerelease: false
|
110
75
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -112,9 +77,6 @@ dependencies:
|
|
112
77
|
- - "~>"
|
113
78
|
- !ruby/object:Gem::Version
|
114
79
|
version: 0.8.7.4
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.8.7.4
|
118
80
|
- !ruby/object:Gem::Dependency
|
119
81
|
name: redcarpet
|
120
82
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,9 +84,6 @@ dependencies:
|
|
122
84
|
- - "~>"
|
123
85
|
- !ruby/object:Gem::Version
|
124
86
|
version: 3.1.1
|
125
|
-
- - ">="
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
version: 3.1.1
|
128
87
|
type: :development
|
129
88
|
prerelease: false
|
130
89
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -132,9 +91,6 @@ dependencies:
|
|
132
91
|
- - "~>"
|
133
92
|
- !ruby/object:Gem::Version
|
134
93
|
version: 3.1.1
|
135
|
-
- - ">="
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: 3.1.1
|
138
94
|
- !ruby/object:Gem::Dependency
|
139
95
|
name: yard-redcarpet-ext
|
140
96
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,9 +98,6 @@ dependencies:
|
|
142
98
|
- - "~>"
|
143
99
|
- !ruby/object:Gem::Version
|
144
100
|
version: 0.0.3
|
145
|
-
- - ">="
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
version: 0.0.3
|
148
101
|
type: :development
|
149
102
|
prerelease: false
|
150
103
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -152,9 +105,20 @@ dependencies:
|
|
152
105
|
- - "~>"
|
153
106
|
- !ruby/object:Gem::Version
|
154
107
|
version: 0.0.3
|
155
|
-
|
108
|
+
- !ruby/object:Gem::Dependency
|
109
|
+
name: addressable
|
110
|
+
requirement: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - "~>"
|
156
113
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
114
|
+
version: 2.3.6
|
115
|
+
type: :runtime
|
116
|
+
prerelease: false
|
117
|
+
version_requirements: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - "~>"
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: 2.3.6
|
158
122
|
- !ruby/object:Gem::Dependency
|
159
123
|
name: rake
|
160
124
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,9 +154,6 @@ dependencies:
|
|
190
154
|
- - "~>"
|
191
155
|
- !ruby/object:Gem::Version
|
192
156
|
version: 0.7.1
|
193
|
-
- - ">="
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
version: 0.7.1
|
196
157
|
type: :development
|
197
158
|
prerelease: false
|
198
159
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -200,9 +161,6 @@ dependencies:
|
|
200
161
|
- - "~>"
|
201
162
|
- !ruby/object:Gem::Version
|
202
163
|
version: 0.7.1
|
203
|
-
- - ">="
|
204
|
-
- !ruby/object:Gem::Version
|
205
|
-
version: 0.7.1
|
206
164
|
description: Transit marshalling for Ruby
|
207
165
|
email:
|
208
166
|
- russ@cognitect.com
|
@@ -219,10 +177,15 @@ files:
|
|
219
177
|
- lib/transit.rb
|
220
178
|
- lib/transit/date_time_util.rb
|
221
179
|
- lib/transit/decoder.rb
|
180
|
+
- lib/transit/marshaler/base.rb
|
181
|
+
- lib/transit/marshaler/cruby/json.rb
|
182
|
+
- lib/transit/marshaler/cruby/messagepack.rb
|
222
183
|
- lib/transit/read_handlers.rb
|
223
184
|
- lib/transit/reader.rb
|
224
185
|
- lib/transit/rolling_cache.rb
|
225
186
|
- lib/transit/transit_types.rb
|
187
|
+
- lib/transit/unmarshaler/cruby/json.rb
|
188
|
+
- lib/transit/unmarshaler/cruby/messagepack.rb
|
226
189
|
- lib/transit/write_handlers.rb
|
227
190
|
- lib/transit/writer.rb
|
228
191
|
- spec/spec_helper.rb
|
metadata.gz.sig
CHANGED
@@ -1 +1,3 @@
|
|
1
|
-
|
1
|
+
�Rą#U�2�V�=c.�w
|
2
|
+
�[5O3�,��MqK��Q}����NiТU)I����HW�&|5����<�����n�91g>K�H��Z��Q�4H�,\��a�ʹz(h���tR�`'��P�m�V�]����m�RU/��n ����x7�p��U��1�qS�v LW��I����
|
3
|
+
�h&?y~}����M6���c�����)
|