tucana 0.0.62 → 0.0.63
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/lib/tucana/generated/shared/shared.struct_pb.rb +2 -1
- data/lib/tucana/shared/shared.struct.rb +36 -2
- data/lib/tucana/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 43b939244f6607565a1488346fcdb059f1373c6a40d871a76342e4750ba36d88
|
|
4
|
+
data.tar.gz: a891e3e5d233d5dd66f8d02b08b7ef6d8fe56f1e4c6f9bfcb562c0802cc86893
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b0ead0dd798e8ef9e49a77a6213468b81b682a6d253502defc4819f19804f94cc5824104b694d03a5d889689e978c89e2d3e5be8131b08b53f6a6840262ae967
|
|
7
|
+
data.tar.gz: 51c422715ef20bfdf0ebf2565c11aaf9d06d95f423444526d5b3275c1261a7ad08d0ed950676c1905a00224ac998b789ce4f175040544c9d48dbf2d8388cf0f2
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
require 'google/protobuf'
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
descriptor_data = "\n\x13shared.struct.proto\x12\x06shared\"r\n\x06Struct\x12*\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1a.shared.Struct.FieldsEntry\x1a<\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.shared.Value:\x02\x38\x01\"\
|
|
8
|
+
descriptor_data = "\n\x13shared.struct.proto\x12\x06shared\"r\n\x06Struct\x12*\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1a.shared.Struct.FieldsEntry\x1a<\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.shared.Value:\x02\x38\x01\"\xe4\x01\n\x05Value\x12\'\n\nnull_value\x18\x01 \x01(\x0e\x32\x11.shared.NullValueH\x00\x12+\n\x0cnumber_value\x18\x02 \x01(\x0b\x32\x13.shared.NumberValueH\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12&\n\x0cstruct_value\x18\x05 \x01(\x0b\x32\x0e.shared.StructH\x00\x12\'\n\nlist_value\x18\x06 \x01(\x0b\x32\x11.shared.ListValueH\x00\x42\x06\n\x04kind\";\n\x0bNumberValue\x12\x11\n\x07integer\x18\x01 \x01(\x03H\x00\x12\x0f\n\x05\x66loat\x18\x02 \x01(\x01H\x00\x42\x08\n\x06number\"*\n\tListValue\x12\x1d\n\x06values\x18\x01 \x03(\x0b\x32\r.shared.Value*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00\x42\x11\xea\x02\x0eTucana::Sharedb\x06proto3"
|
|
9
9
|
|
|
10
10
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
11
11
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -14,6 +14,7 @@ module Tucana
|
|
|
14
14
|
module Shared
|
|
15
15
|
Struct = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.Struct").msgclass
|
|
16
16
|
Value = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.Value").msgclass
|
|
17
|
+
NumberValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.NumberValue").msgclass
|
|
17
18
|
ListValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.ListValue").msgclass
|
|
18
19
|
NullValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.NullValue").enummodule
|
|
19
20
|
end
|
|
@@ -65,7 +65,11 @@ module Tucana
|
|
|
65
65
|
when :null_value
|
|
66
66
|
nil
|
|
67
67
|
when :number_value
|
|
68
|
-
|
|
68
|
+
if recursive
|
|
69
|
+
self.number_value.to_ruby
|
|
70
|
+
else
|
|
71
|
+
self.number_value
|
|
72
|
+
end
|
|
69
73
|
when :string_value
|
|
70
74
|
self.string_value
|
|
71
75
|
when :bool_value
|
|
@@ -84,7 +88,7 @@ module Tucana
|
|
|
84
88
|
when NilClass
|
|
85
89
|
self.null_value = :NULL_VALUE
|
|
86
90
|
when Numeric
|
|
87
|
-
self.number_value = value
|
|
91
|
+
self.number_value = NumberValue.from_ruby(value)
|
|
88
92
|
when String
|
|
89
93
|
self.string_value = value
|
|
90
94
|
when TrueClass
|
|
@@ -107,6 +111,36 @@ module Tucana
|
|
|
107
111
|
end
|
|
108
112
|
end
|
|
109
113
|
|
|
114
|
+
NumberValue.class_eval do
|
|
115
|
+
def to_ruby
|
|
116
|
+
case self.number
|
|
117
|
+
when :integer
|
|
118
|
+
self.integer
|
|
119
|
+
when :float
|
|
120
|
+
self.float
|
|
121
|
+
else
|
|
122
|
+
raise UnexpectedStructType
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def self.from_ruby(value)
|
|
127
|
+
self.new.from_ruby(value)
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def from_ruby(value)
|
|
131
|
+
case value
|
|
132
|
+
when Integer
|
|
133
|
+
self.integer = value
|
|
134
|
+
when Float
|
|
135
|
+
self.float = value
|
|
136
|
+
else
|
|
137
|
+
raise UnexpectedStructType
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
self
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
110
144
|
ListValue.class_eval do
|
|
111
145
|
include Enumerable
|
|
112
146
|
|
data/lib/tucana/version.rb
CHANGED