pbbuilder 0.13.0 → 0.13.1
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/CHANGELOG.md +4 -0
- data/lib/pbbuilder.rb +6 -3
- data/pbbuilder.gemspec +1 -1
- data/test/pbbuilder_template_test.rb +5 -0
- data/test/test_helper.rb +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 723b6cc8d707629dbdc6452a4b87cc3789cf53c9a1297385d36d6f9d96754dbd
|
4
|
+
data.tar.gz: 385d5ef697c559167a05a3952323823d688cd6b8ce3ae8287071ad2f59094ea8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22726723278482ac876dda06bde71419520b007302ea8e377f64473a1118cde6e5947d3b640e29b869743996758309c667b6d40df037582609285fdc338f5ebe
|
7
|
+
data.tar.gz: 2f2164afc66e60e37483fc99442ed8983843eeb77c88e01c99196199539c3957e19a77bb787f6fb12098a462f5a455f14773890f649af9c9e5b6efe88702d8ff
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
|
|
3
3
|
|
4
4
|
This format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
5
5
|
|
6
|
+
## 0.13.1 2023.01.24
|
7
|
+
### Added
|
8
|
+
- #merge! to support boolean values
|
9
|
+
|
6
10
|
## 0.13.0 2023.01.18
|
7
11
|
### Added
|
8
12
|
- #merge! method added for PbbuilderTemplate class
|
data/lib/pbbuilder.rb
CHANGED
@@ -111,11 +111,11 @@ class Pbbuilder
|
|
111
111
|
#
|
112
112
|
# @param object [Hash]
|
113
113
|
def merge!(object)
|
114
|
-
::Kernel.raise ::MergeError.build(target!, object) unless object.class == ::Hash
|
114
|
+
::Kernel.raise Pbbuilder::MergeError.build(target!, object) unless object.class == ::Hash
|
115
115
|
|
116
116
|
object.each_key do |key|
|
117
|
-
if object[key].empty?
|
118
|
-
::Kernel.raise ::MergeError.build(target!, object)
|
117
|
+
if object[key].respond_to?(:empty?) && object[key].empty?
|
118
|
+
::Kernel.raise Pbbuilder::MergeError.build(target!, object)
|
119
119
|
end
|
120
120
|
|
121
121
|
if object[key].class == ::String
|
@@ -124,6 +124,9 @@ class Pbbuilder
|
|
124
124
|
elsif object[key].class == ::Array
|
125
125
|
# pb.tags ['test', 'ok']
|
126
126
|
@message[key.to_s].replace object[key]
|
127
|
+
elsif object[key].class == ::TrueClass || object[key].class == ::FalseClass
|
128
|
+
# pb.boolean true || false
|
129
|
+
@message[key.to_s] = object[key]
|
127
130
|
elsif ( obj = object[key]).class == ::Hash
|
128
131
|
# pb.field_name do
|
129
132
|
# pb.tags ["ok", "cool"]
|
data/pbbuilder.gemspec
CHANGED
@@ -85,6 +85,11 @@ class PbbuilderTemplateTest < ActiveSupport::TestCase
|
|
85
85
|
assert_equal("suslik", result.name)
|
86
86
|
end
|
87
87
|
|
88
|
+
test "boolean support in merge! method" do
|
89
|
+
assert(render('pb.merge! "boolean_me" => true').boolean_me)
|
90
|
+
refute(render('pb.merge! "boolean_me" => false').boolean_me)
|
91
|
+
end
|
92
|
+
|
88
93
|
test "support for merge! method in a block" do
|
89
94
|
result = render(<<-PBBUILDER)
|
90
95
|
pb.best_friend do
|
data/test/test_helper.rb
CHANGED
@@ -22,13 +22,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
22
22
|
add_file("pbbuilder.proto", syntax: :proto3) do
|
23
23
|
add_message "pbbuildertest.Person" do
|
24
24
|
optional :name, :string, 1
|
25
|
-
optional :last_name, :string, 8
|
26
25
|
repeated :friends, :message, 2, "pbbuildertest.Person"
|
27
26
|
optional :best_friend, :message, 3, "pbbuildertest.Person"
|
28
27
|
repeated :nicknames, :string, 4
|
29
28
|
optional :field_mask, :message, 5, "google.protobuf.FieldMask"
|
30
29
|
map :favourite_foods, :string, :string, 6
|
31
30
|
repeated :tags, :string, 7
|
31
|
+
optional :last_name, :string, 8
|
32
|
+
optional :boolean_me, :bool, 9
|
32
33
|
end
|
33
34
|
end
|
34
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pbbuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bouke van der Bijl
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|