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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e4a4d405e3fe428fa8de8ba8609f62211a0224d76fe13bc32d7caf2a07e089c
4
- data.tar.gz: 35cf4c2ed96cbb643dfb22db3de4d6ff035cc420f78806489d329b42fd14f88e
3
+ metadata.gz: 723b6cc8d707629dbdc6452a4b87cc3789cf53c9a1297385d36d6f9d96754dbd
4
+ data.tar.gz: 385d5ef697c559167a05a3952323823d688cd6b8ce3ae8287071ad2f59094ea8
5
5
  SHA512:
6
- metadata.gz: 5aa3d1b2e64745042fdc1e828ee295d9e14c9891ab3a826d7af64563451b31e2dff28b744419cbb54db31e564dff5e960a2270ab98f480baeca4aeee71373e5e
7
- data.tar.gz: 26d816822376f1857cd517c81ac88df26f2cf52cc0aa82dc602249e67f33a446bd8c10aec1cff544638484cb58c03121f15145af7f4ea3af05c13d45f770e29d
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
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "pbbuilder"
3
- spec.version = "0.13.0"
3
+ spec.version = "0.13.1"
4
4
  spec.authors = ["Bouke van der Bijl"]
5
5
  spec.email = ["bouke@cheddar.me"]
6
6
  spec.homepage = "https://github.com/cheddar-me/pbbuilder"
@@ -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.0
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-18 00:00:00.000000000 Z
11
+ date: 2023-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf