protobuf_nested_struct 1.0.0 → 1.1.0
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
- data/.travis.yml +6 -3
- data/README.md +7 -0
- data/lib/protobuf_nested_struct.rb +35 -5
- data/lib/protobuf_nested_struct/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 325c42625e181ee9fc01b781e195eb92b576bdf3
|
|
4
|
+
data.tar.gz: 2504b35d39646c90c2c310ac7d5b8385d4e5b324
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c5cb570490b92e8ffc96218ef2c1bd0571f165c78553d532d40e67ad8df8e46363a25fdfe7d6173f32b6aa969c21f0cf403d47052c2ede1ce7e16c5986871c0e
|
|
7
|
+
data.tar.gz: f0541625ee9f82acb846e1c049cbf66f5a93dbca9b5e0b961ebe513787b9ec483e07ad70a34bdf77ff8fa6d95cef50ba0930a181f11ac632baed99aafdd62454
|
data/.travis.yml
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
sudo: false
|
|
2
2
|
language: ruby
|
|
3
3
|
rvm:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
- 2.5.1
|
|
5
|
+
- 2.4.3
|
|
6
|
+
- 2.3.7
|
|
7
7
|
before_install: gem install bundler -v 1.16.1
|
|
8
|
+
notifications:
|
|
9
|
+
slack:
|
|
10
|
+
secure: no8/ZtMrQm8EyglLJW9toPdKGwa7g1+AcWwlnzH7HCAp9dSafETt5HOIxzIecotVFV+VCoHi1lrHnJoyJ8svOfro9Jh1i1+oZzW+eHH/Df4AVyPOPLlJINoLi/SP+d7NTgS4+oVYB/y7uPC9y7QkdaTxGC540OaXmbVbw7M/GSMv7n6qVOmdMnH/JeH9qjHkJ3FUmnnWY2AVlUrcpERIOcdB4zN65b+7zMUUGqAXnbpTOrYC0S5q0yr0omBfmEnkbgpyN4m9QZE07ILky0RHayA7/HuyAPi9D8u36G6yWbi18QxJpH2Y4KRNlFrNKg+JYMbvTTtjpy6W8NoWq8XK38UBi+oc2Vg9p1rRTndqrUALCyWunuNpsBoMebcNajV8EbTftsSqjcoV+KE/jc1zHa5RlcFs07pI3khrOnCyoAoxSgCv53wZeboXRlo/yeB1kML97us+AkcAAf+RRNwQvUbV+BGejwIOwplG41+GqvjfpcLb8achieDdbSzzVTKX0gPWqBkKgiNzHV7c84oWARFOJPqm1TosnEAQ13VKa4n5RWeL4tk1rT3t5S4Cl0ZlN/nasGHKbt5s9iTyT4xrxtbSp2aMKWtyZNUZF0wpfzZoVl5I7OGmiHT2Z/pRb158HG+dqB4SvSqJrFAG/+6d8xJdm982vRfl+p0CtVIV3Qk=
|
data/README.md
CHANGED
|
@@ -47,6 +47,13 @@ expect(copy).to eql(obj)
|
|
|
47
47
|
|
|
48
48
|
where `obj` can be an instance of one of the supported types.
|
|
49
49
|
|
|
50
|
+
## Protobuf schema definition
|
|
51
|
+
|
|
52
|
+
You can use it to generate code for serialization and deserialization in any programming language supported
|
|
53
|
+
by Protobuf.
|
|
54
|
+
|
|
55
|
+
* https://github.com/arkency/protobuf-nested-struct/blob/master/lib/protobuf_nested_struct/struct.proto
|
|
56
|
+
|
|
50
57
|
## Development
|
|
51
58
|
|
|
52
59
|
* `bundle install`
|
|
@@ -7,6 +7,17 @@ require 'protobuf_nested_struct/struct_pb'
|
|
|
7
7
|
|
|
8
8
|
module ProtobufNestedStruct
|
|
9
9
|
class Value
|
|
10
|
+
def self.dump(obj)
|
|
11
|
+
v = new
|
|
12
|
+
v.from_ruby(obj)
|
|
13
|
+
encode(v)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def self.load(string)
|
|
17
|
+
v = decode(string)
|
|
18
|
+
v.to_ruby
|
|
19
|
+
end
|
|
20
|
+
|
|
10
21
|
def from_ruby(obj)
|
|
11
22
|
case obj
|
|
12
23
|
when nil
|
|
@@ -60,6 +71,17 @@ module ProtobufNestedStruct
|
|
|
60
71
|
end
|
|
61
72
|
|
|
62
73
|
class HashMapStringValue
|
|
74
|
+
def self.dump(obj)
|
|
75
|
+
v = new
|
|
76
|
+
v.from_ruby(obj)
|
|
77
|
+
encode(v)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def self.load(string)
|
|
81
|
+
v = decode(string)
|
|
82
|
+
v.to_ruby
|
|
83
|
+
end
|
|
84
|
+
|
|
63
85
|
def from_ruby(obj)
|
|
64
86
|
Hash === obj or raise ArgumentError
|
|
65
87
|
obj.each do |key, value|
|
|
@@ -76,6 +98,17 @@ module ProtobufNestedStruct
|
|
|
76
98
|
end
|
|
77
99
|
|
|
78
100
|
class ListValue
|
|
101
|
+
def self.dump(obj)
|
|
102
|
+
v = new
|
|
103
|
+
v.from_ruby(obj)
|
|
104
|
+
encode(v)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def self.load(string)
|
|
108
|
+
v = decode(string)
|
|
109
|
+
v.to_ruby
|
|
110
|
+
end
|
|
111
|
+
|
|
79
112
|
def from_ruby(obj)
|
|
80
113
|
Array === obj or raise ArgumentError
|
|
81
114
|
values.clear
|
|
@@ -90,13 +123,10 @@ module ProtobufNestedStruct
|
|
|
90
123
|
end
|
|
91
124
|
|
|
92
125
|
def self.dump(obj)
|
|
93
|
-
|
|
94
|
-
v.from_ruby(obj)
|
|
95
|
-
Value.encode(v)
|
|
126
|
+
Value.dump(obj)
|
|
96
127
|
end
|
|
97
128
|
|
|
98
129
|
def self.load(string)
|
|
99
|
-
|
|
100
|
-
v.to_ruby
|
|
130
|
+
Value.load(string)
|
|
101
131
|
end
|
|
102
132
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: protobuf_nested_struct
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Pankowecki
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2018-04-
|
|
12
|
+
date: 2018-04-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: google-protobuf
|