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 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