pbbuilder 0.3.0 → 0.4.0

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: 1699e497c5f64a42a5d2233993352dc40669dee7e95b7cff0fae33dfb531d51b
4
- data.tar.gz: 91f2062978f63623af38e58e84b69a54d14d126f0921e2a467fbc5d14ca7a60e
3
+ metadata.gz: 7d815652fcf7100f400afe821ed08806cec9f21fb9b58d99214483b1cc899ccf
4
+ data.tar.gz: 14d1dae70e77d9916f47bed8c3b270003817702101439ececb2f834417d9acf2
5
5
  SHA512:
6
- metadata.gz: 925dc28280852d7844ef1404e13e10b016b0f4121ca790011d7b4241ed3a8c843a1045fd8a11e3e489cf50c1cbe3b4176f17f5e29f00f688d189420626a081f6
7
- data.tar.gz: 15b1f3fba2ad2e0404c9dd1df9fdeb0947c0f1c8f4f46e4f6e9a4a0d1ec1368a5891303e0a5cf3088eff60856cd465f8ef0de413999d5e7719b0e9dab09d7991
6
+ metadata.gz: 1a9b24cf94ebfdb28533a0a964eee720a7e7108b17f31140dc5a3d5d86b1e4a8c22f8a219a665e9f9997bec22f1c92c51061708a334eeec00d70db2cae365c37
7
+ data.tar.gz: b08bf671e0e1fe671ecf8e0a7aac2da91b8e64044d8629bc4d76a77284a3e6d8c8423e2224edc1e72755793d0ea6139e3b2fc3eee158ffc290c0fe7cf3476733
data/.gitignore CHANGED
@@ -11,3 +11,4 @@
11
11
  .byebug_history
12
12
  Gemfile.lock
13
13
  *.gem
14
+ /.idea
data/lib/pbbuilder.rb CHANGED
@@ -117,4 +117,5 @@ class Pbbuilder < BasicObject
117
117
  end
118
118
  end
119
119
 
120
+ require "pbbuilder/protobuf_extension"
120
121
  require "pbbuilder/railtie" if defined?(Rails)
@@ -0,0 +1,7 @@
1
+ require "google/protobuf/message_exts"
2
+
3
+ module Google::Protobuf::MessageExts::ClassMethods
4
+ def build(*args, &block)
5
+ Pbbuilder.new(new(*args), &block).target!
6
+ end
7
+ end
data/pbbuilder.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "pbbuilder"
3
- spec.version = "0.3.0"
3
+ spec.version = "0.4.0"
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"
@@ -1,5 +1,4 @@
1
1
  require "test_helper"
2
- require "pbbuilder"
3
2
 
4
3
  class PbbuilderTest < ActiveSupport::TestCase
5
4
  test "it makes it possible to create a person" do
@@ -0,0 +1,18 @@
1
+ require "test_helper"
2
+
3
+ class ProtobufExtensionTest < ActiveSupport::TestCase
4
+ test ".build" do
5
+ person = API::Person.build(name: "Hello world!") do |pb|
6
+ pb.best_friend do
7
+ pb.name "Johnny"
8
+ end
9
+ end
10
+ assert_equal "Hello world!", person.name
11
+ assert_equal "Johnny", person.best_friend.name
12
+ end
13
+
14
+ test ".build without block" do
15
+ person = API::Person.build
16
+ assert_equal "", person.name
17
+ end
18
+ end
data/test/test_helper.rb CHANGED
@@ -4,6 +4,7 @@ ENV["RAILS_ENV"] = "test"
4
4
  require "rails"
5
5
  require "rails/test_help"
6
6
  require "rails/test_unit/reporter"
7
+ require "pbbuilder"
7
8
 
8
9
  Rails::TestUnitReporter.executable = "bin/test"
9
10
 
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.3.0
4
+ version: 0.4.0
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: 2021-03-31 00:00:00.000000000 Z
11
+ date: 2021-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -39,10 +39,12 @@ files:
39
39
  - bin/test
40
40
  - lib/pbbuilder.rb
41
41
  - lib/pbbuilder/handler.rb
42
+ - lib/pbbuilder/protobuf_extension.rb
42
43
  - lib/pbbuilder/railtie.rb
43
44
  - lib/tasks/pbbuilder_tasks.rake
44
45
  - pbbuilder.gemspec
45
46
  - test/pbbuilder_test.rb
47
+ - test/protobuf_extension_test.rb
46
48
  - test/test_helper.rb
47
49
  homepage: https://github.com/cheddar-me/pbbuilder
48
50
  licenses:
@@ -69,4 +71,5 @@ specification_version: 4
69
71
  summary: Generate Protobuf messages via a Builder-style DSL
70
72
  test_files:
71
73
  - test/pbbuilder_test.rb
74
+ - test/protobuf_extension_test.rb
72
75
  - test/test_helper.rb