pbbuilder 0.13.0 → 0.13.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|