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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4292a11bb1d3e3532f890734c8e32125b35fb003bd2fdf31f5754b6a81506dc4
4
- data.tar.gz: a8314c5e9c0b606dd7176eefddd1a7b325ac9d80dab0ab42cbe007e50e113a24
3
+ metadata.gz: 43b939244f6607565a1488346fcdb059f1373c6a40d871a76342e4750ba36d88
4
+ data.tar.gz: a891e3e5d233d5dd66f8d02b08b7ef6d8fe56f1e4c6f9bfcb562c0802cc86893
5
5
  SHA512:
6
- metadata.gz: 236c7c8bd8e5406195e0af36a7b3422563a7b5ad3129e889bc1c017d31355bce8b13cfb10e3f45f2d6d0d92fe2ac3ef2a65c24eea72be0c9880b898bb1d3dc3f
7
- data.tar.gz: fcac3459fd28075532c217a9056cf8cc920debe07e6771cf48578f5b72721d5245446741671605869ccb735ad3b6509088adf8a325f118dfe21931156ad1f631
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\"\xcf\x01\n\x05Value\x12\'\n\nnull_value\x18\x01 \x01(\x0e\x32\x11.shared.NullValueH\x00\x12\x16\n\x0cnumber_value\x18\x02 \x01(\x01H\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\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"
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
- self.number_value
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
 
@@ -4,5 +4,5 @@
4
4
  # to update the version, run "bundle exec rake release:version[NEW_VERSION]".
5
5
 
6
6
  module Tucana
7
- VERSION = "0.0.62"
7
+ VERSION = "0.0.63"
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tucana
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.62
4
+ version: 0.0.63
5
5
  platform: ruby
6
6
  authors:
7
7
  - Niklas van Schrick