protobuf 3.4.4 → 3.5.0
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/.travis.yml +5 -1
- data/README.md +1 -0
- data/install-protobuf.sh +25 -5
- data/lib/protobuf/field/bool_field.rb +11 -1
- data/lib/protobuf/field/field_array.rb +2 -0
- data/lib/protobuf/field/message_field.rb +1 -1
- data/lib/protobuf/field/varint_field.rb +7 -1
- data/lib/protobuf/message.rb +2 -1
- data/lib/protobuf/rpc/servers/zmq_runner.rb +1 -1
- data/lib/protobuf/rpc/service_directory.rb +19 -7
- data/lib/protobuf/rpc/service_filters.rb +4 -4
- data/lib/protobuf/version.rb +1 -1
- data/spec/lib/protobuf/field/bool_field_spec.rb +51 -0
- data/spec/lib/protobuf/field/field_array_spec.rb +69 -0
- data/spec/lib/protobuf/field/int32_field_spec.rb +82 -0
- data/spec/lib/protobuf/message_spec.rb +6 -1
- data/spec/lib/protobuf/rpc/service_directory_spec.rb +1 -3
- data/spec/lib/protobuf/rpc/service_spec.rb +3 -3
- data/spec/lib/protobuf/rpc/stat_spec.rb +1 -3
- metadata +6 -75
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 556fc7a33947258f727c68a829cda7f010c17a4a
|
4
|
+
data.tar.gz: 7c2844002d64904f5ba995c16704704966a53296
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a68b0800fe406544487ec2f2ae1cccc81c21e5f9a59c3f970ef84a0a5023f057a523ad5c6f598b9dfe7ad57acf47a22aa12a4a73c218ec0443149d0ff5a7fc7f
|
7
|
+
data.tar.gz: 0832c9afbfc335acf6fd8517a0713efa4d347e48f6eaa00ea0575134b17e19e3d1648fe1936aabfc9b5422ceed63394b449426018d22a6616849148e5f0ebf44
|
data/.travis.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
before_install:
|
2
2
|
- sudo apt-get update -qq
|
3
3
|
- sudo apt-get install -y libzmq3-dev
|
4
|
-
- sudo ./install-protobuf.sh
|
4
|
+
- sudo -E ./install-protobuf.sh
|
5
5
|
language: ruby
|
6
6
|
rvm:
|
7
7
|
- 1.9.3
|
@@ -9,9 +9,13 @@ rvm:
|
|
9
9
|
- 2.1
|
10
10
|
- jruby
|
11
11
|
- rbx-2
|
12
|
+
env:
|
13
|
+
- PROTOBUF_VERSION=2.6.1
|
14
|
+
- PROTOBUF_VERSION=3.0.0-alpha-2
|
12
15
|
matrix:
|
13
16
|
allow_failures:
|
14
17
|
- rvm: rbx-2
|
18
|
+
- env: PROTOBUF_VERSION=3.0.0-alpha-2
|
15
19
|
notifications:
|
16
20
|
webhooks:
|
17
21
|
urls:
|
data/README.md
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
[](http://badge.fury.io/rb/protobuf)
|
4
4
|
[](https://travis-ci.org/localshred/protobuf)
|
5
5
|
[](https://gitter.im/localshred/protobuf)
|
6
|
+
[](https://www.omniref.com/ruby/gems/protobuf)
|
6
7
|
|
7
8
|
Protobuf is an implementation of [Google's protocol buffers][google-pb] in ruby, version 2.5.0 is currently supported.
|
8
9
|
|
data/install-protobuf.sh
CHANGED
@@ -1,8 +1,28 @@
|
|
1
|
+
#!/usr/bin/env sh
|
2
|
+
|
1
3
|
set -ex
|
2
4
|
|
3
|
-
|
4
|
-
|
5
|
+
gdie() {
|
6
|
+
echo "$@" >&2
|
7
|
+
exit 1
|
8
|
+
}
|
9
|
+
|
10
|
+
test -n "$PROTOBUF_VERSION" || die "PROTOBUF_VERSION env var is undefined"
|
11
|
+
|
12
|
+
case "$PROTOBUF_VERSION" in
|
13
|
+
2*)
|
14
|
+
basename=protobuf-$PROTOBUF_VERSION
|
15
|
+
;;
|
16
|
+
3*)
|
17
|
+
basename=protobuf-cpp-$PROTOBUF_VERSION
|
18
|
+
;;
|
19
|
+
*)
|
20
|
+
die "unknown protobuf version: $PROTOBUF_VERSION"
|
21
|
+
;;
|
22
|
+
esac
|
23
|
+
|
24
|
+
curl -sL https://github.com/google/protobuf/releases/download/v$PROTOBUF_VERSION/$basename.tar.gz | tar zx
|
25
|
+
|
26
|
+
cd protobuf-$PROTOBUF_VERSION
|
5
27
|
|
6
|
-
|
7
|
-
tar -xvf $tarball
|
8
|
-
cd $basename && ./configure --prefix=/usr && make && make install
|
28
|
+
./configure --prefix=/usr && make -j2 && make install
|
@@ -17,7 +17,17 @@ module Protobuf
|
|
17
17
|
# #
|
18
18
|
|
19
19
|
def acceptable?(val)
|
20
|
-
[true, false].include?(val)
|
20
|
+
[true, false].include?(val) || %w(true false).include?(val)
|
21
|
+
end
|
22
|
+
|
23
|
+
def coerce!(val)
|
24
|
+
if val == 'true'
|
25
|
+
true
|
26
|
+
elsif val == 'false'
|
27
|
+
false
|
28
|
+
else
|
29
|
+
val
|
30
|
+
end
|
21
31
|
end
|
22
32
|
|
23
33
|
def decode(value)
|
@@ -66,6 +66,8 @@ module Protobuf
|
|
66
66
|
|
67
67
|
if field.is_a?(::Protobuf::Field::EnumField)
|
68
68
|
field.type_class.fetch(value)
|
69
|
+
elsif field.is_a?(::Protobuf::Field::MessageField) && value.is_a?(field.type_class)
|
70
|
+
value
|
69
71
|
elsif field.is_a?(::Protobuf::Field::MessageField) && value.respond_to?(:to_hash)
|
70
72
|
field.type_class.new(value.to_hash)
|
71
73
|
else
|
@@ -9,7 +9,7 @@ module Protobuf
|
|
9
9
|
#
|
10
10
|
|
11
11
|
def acceptable?(val)
|
12
|
-
unless val.
|
12
|
+
unless val.is_a?(type_class) || val.respond_to?(:to_hash)
|
13
13
|
fail TypeError, "Expected value of type '#{type_class}' for field #{name}, but got '#{val.class}'"
|
14
14
|
end
|
15
15
|
|
@@ -37,11 +37,17 @@ module Protobuf
|
|
37
37
|
#
|
38
38
|
|
39
39
|
def acceptable?(val)
|
40
|
-
|
40
|
+
int_val = coerce!(val)
|
41
|
+
int_val >= self.class.min && int_val <= self.class.max
|
41
42
|
rescue
|
42
43
|
false
|
43
44
|
end
|
44
45
|
|
46
|
+
def coerce!(val)
|
47
|
+
return val.to_i if val.is_a?(Numeric)
|
48
|
+
Integer(val, 10)
|
49
|
+
end
|
50
|
+
|
45
51
|
def decode(value)
|
46
52
|
value
|
47
53
|
end
|
data/lib/protobuf/message.rb
CHANGED
@@ -82,6 +82,7 @@ module Protobuf
|
|
82
82
|
|
83
83
|
def all_listings_for(service)
|
84
84
|
if running? && @listings_by_service.key?(service.to_s)
|
85
|
+
start_listener_thread if listener_dead?
|
85
86
|
@listings_by_service[service.to_s].entries.shuffle
|
86
87
|
else
|
87
88
|
[]
|
@@ -89,15 +90,19 @@ module Protobuf
|
|
89
90
|
end
|
90
91
|
|
91
92
|
def each_listing(&block)
|
93
|
+
start_listener_thread if listener_dead?
|
92
94
|
@listings_by_uuid.each_value(&block)
|
93
95
|
end
|
94
96
|
|
95
97
|
def lookup(service)
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
98
|
+
return unless running?
|
99
|
+
start_listener_thread if listener_dead?
|
100
|
+
return unless @listings_by_service.key?(service.to_s)
|
101
|
+
@listings_by_service[service.to_s].entries.sample
|
102
|
+
end
|
103
|
+
|
104
|
+
def listener_dead?
|
105
|
+
@thread.nil? || !@thread.alive?
|
101
106
|
end
|
102
107
|
|
103
108
|
def restart
|
@@ -106,22 +111,29 @@ module Protobuf
|
|
106
111
|
end
|
107
112
|
|
108
113
|
def running?
|
109
|
-
!!@
|
114
|
+
!!@running
|
110
115
|
end
|
111
116
|
|
112
117
|
def start
|
113
118
|
unless running?
|
114
119
|
init_socket
|
115
120
|
logger.info { sign_message("listening to udp://#{self.class.address}:#{self.class.port}") }
|
116
|
-
@
|
121
|
+
@running = true
|
117
122
|
end
|
118
123
|
|
124
|
+
start_listener_thread if listener_dead?
|
119
125
|
self
|
120
126
|
end
|
121
127
|
|
128
|
+
def start_listener_thread
|
129
|
+
return if @thread.try(:alive?)
|
130
|
+
@thread = Thread.new { send(:run) }
|
131
|
+
end
|
132
|
+
|
122
133
|
def stop
|
123
134
|
logger.info { sign_message("Stopping directory") }
|
124
135
|
|
136
|
+
@running = false
|
125
137
|
@thread.try(:kill).try(:join)
|
126
138
|
@socket.try(:close)
|
127
139
|
|
@@ -94,10 +94,10 @@ module Protobuf
|
|
94
94
|
# if the filter should not be invoked, true if invocation should occur.
|
95
95
|
#
|
96
96
|
def invoke_filter?(rpc_method, filter)
|
97
|
-
invoke_via_only?(rpc_method, filter)
|
98
|
-
|
99
|
-
|
100
|
-
|
97
|
+
invoke_via_only?(rpc_method, filter) &&
|
98
|
+
invoke_via_except?(rpc_method, filter) &&
|
99
|
+
invoke_via_if?(rpc_method, filter) &&
|
100
|
+
invoke_via_unless?(rpc_method, filter)
|
101
101
|
end
|
102
102
|
|
103
103
|
# If the target rpc endpoint method is listed under an :except option,
|
data/lib/protobuf/version.rb
CHANGED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Protobuf::Field::Int32Field do
|
4
|
+
|
5
|
+
class SomeBoolMessage < ::Protobuf::Message
|
6
|
+
optional :bool, :some_bool, 1
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:instance) { SomeBoolMessage.new }
|
10
|
+
|
11
|
+
describe '#define_setter' do
|
12
|
+
subject { instance.some_bool = value; instance.some_bool }
|
13
|
+
|
14
|
+
[true, false].each do |val|
|
15
|
+
context "when set with #{val}" do
|
16
|
+
let(:value) { val }
|
17
|
+
|
18
|
+
it 'is readable as a bool' do
|
19
|
+
expect(subject).to eq(val)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
[['true', true], ['false', false]].each do |val, expected|
|
25
|
+
context "when set with a string of #{val}" do
|
26
|
+
let(:value) { val }
|
27
|
+
|
28
|
+
it 'is readable as a bool' do
|
29
|
+
expect(subject).to eq(expected)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'when set with a non-bool string' do
|
35
|
+
let(:value) { "aaaa" }
|
36
|
+
|
37
|
+
it 'throws an error' do
|
38
|
+
expect { subject }.to raise_error(TypeError)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context 'when set with something that is not a bool' do
|
43
|
+
let(:value) { [1, 2, 3] }
|
44
|
+
|
45
|
+
it 'throws an error' do
|
46
|
+
expect { subject }.to raise_error(TypeError)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Protobuf::Field::FieldArray do
|
4
|
+
|
5
|
+
class SomeBasicMessage < ::Protobuf::Message
|
6
|
+
optional :string, :field, 1
|
7
|
+
end
|
8
|
+
|
9
|
+
class MoreComplexMessage < SomeBasicMessage
|
10
|
+
end
|
11
|
+
|
12
|
+
class OtherBasicMessage < ::Protobuf::Message
|
13
|
+
optional :string, :other_field, 1
|
14
|
+
end
|
15
|
+
|
16
|
+
class SomeRepeatMessage < ::Protobuf::Message
|
17
|
+
optional :string, :some_string, 1
|
18
|
+
repeated :string, :multiple_strings, 2
|
19
|
+
repeated SomeBasicMessage, :multiple_basic_msgs, 3
|
20
|
+
end
|
21
|
+
|
22
|
+
let(:instance) { SomeRepeatMessage.new }
|
23
|
+
|
24
|
+
%w(<< push).each do |method|
|
25
|
+
describe "\##{method}" do
|
26
|
+
context 'when applied to a string field array' do
|
27
|
+
it 'adds a string' do
|
28
|
+
expect(instance.multiple_strings).to be_empty
|
29
|
+
instance.multiple_strings.send(method, 'string 1')
|
30
|
+
expect(instance.multiple_strings).to eq(['string 1'])
|
31
|
+
instance.multiple_strings.send(method, 'string 2')
|
32
|
+
expect(instance.multiple_strings).to eq(['string 1', 'string 2'])
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'fails if not adding a string' do
|
36
|
+
expect { instance.multiple_strings.send(method, 100.0) }.to raise_error(TypeError)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'when applied to a MessageField field array' do
|
41
|
+
it 'adds a MessageField object' do
|
42
|
+
expect(instance.multiple_basic_msgs).to be_empty
|
43
|
+
basic_msg1 = SomeBasicMessage.new
|
44
|
+
instance.multiple_basic_msgs.send(method, basic_msg1)
|
45
|
+
expect(instance.multiple_basic_msgs).to eq([basic_msg1])
|
46
|
+
basic_msg2 = SomeBasicMessage.new
|
47
|
+
instance.multiple_basic_msgs.send(method, basic_msg2)
|
48
|
+
expect(instance.multiple_basic_msgs).to eq([basic_msg1, basic_msg2])
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'adds a Hash from a MessageField object' do
|
52
|
+
expect(instance.multiple_basic_msgs).to be_empty
|
53
|
+
basic_msg1 = SomeBasicMessage.new
|
54
|
+
basic_msg1.field = 'my value'
|
55
|
+
instance.multiple_basic_msgs.send(method, basic_msg1.to_hash)
|
56
|
+
expect(instance.multiple_basic_msgs).to eq([basic_msg1])
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'does not downcast a MessageField' do
|
60
|
+
expect(instance.multiple_basic_msgs).to be_empty
|
61
|
+
basic_msg1 = MoreComplexMessage.new
|
62
|
+
instance.multiple_basic_msgs.send(method, basic_msg1)
|
63
|
+
expect(instance.multiple_basic_msgs).to eq([basic_msg1])
|
64
|
+
expect(instance.multiple_basic_msgs.first).to be_a(MoreComplexMessage)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -4,4 +4,86 @@ RSpec.describe Protobuf::Field::Int32Field do
|
|
4
4
|
|
5
5
|
it_behaves_like :packable_field, described_class
|
6
6
|
|
7
|
+
class SomeInt32Message < ::Protobuf::Message
|
8
|
+
optional :int32, :some_int, 1
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:instance) { SomeInt32Message.new }
|
12
|
+
|
13
|
+
describe '#define_setter' do
|
14
|
+
subject { instance.some_int = value; instance.some_int }
|
15
|
+
|
16
|
+
context 'when set with an int' do
|
17
|
+
let(:value) { 100 }
|
18
|
+
|
19
|
+
it 'is readable as an int' do
|
20
|
+
expect(subject).to eq(100)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'when set with a float' do
|
25
|
+
let(:value) { 100.1 }
|
26
|
+
|
27
|
+
it 'is readable as an int' do
|
28
|
+
expect(subject).to eq(100)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'when set with a string of an int' do
|
33
|
+
let(:value) { "101" }
|
34
|
+
|
35
|
+
it 'is readable as an int' do
|
36
|
+
expect(subject).to eq(101)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'when set with a negative representation of an int as string' do
|
41
|
+
let(:value) { "-101" }
|
42
|
+
|
43
|
+
it 'is readable as a negative int' do
|
44
|
+
expect(subject).to eq(-101)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'when set with a non-numeric string' do
|
49
|
+
let(:value) { "aaaa" }
|
50
|
+
|
51
|
+
it 'throws an error' do
|
52
|
+
expect { subject }.to raise_error(TypeError)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
context 'when set with a string of an int in hex format' do
|
57
|
+
let(:value) { "0x101" }
|
58
|
+
|
59
|
+
it 'throws an error' do
|
60
|
+
expect { subject }.to raise_error(TypeError)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context 'when set with a string of an int larger than int32 max' do
|
65
|
+
let(:value) { (described_class.max + 1).to_s }
|
66
|
+
|
67
|
+
it 'throws an error' do
|
68
|
+
expect { subject }.to raise_error(TypeError)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context 'when set with something that is not an int' do
|
73
|
+
let(:value) { [1, 2, 3] }
|
74
|
+
|
75
|
+
it 'throws an error' do
|
76
|
+
expect { subject }.to raise_error(TypeError)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context 'when set with a timestamp' do
|
81
|
+
let(:value) { Time.now }
|
82
|
+
|
83
|
+
it 'throws an error' do
|
84
|
+
expect { subject }.to raise_error(TypeError)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
7
89
|
end
|
@@ -175,6 +175,11 @@ RSpec.describe Protobuf::Message do
|
|
175
175
|
expect(test_enum.non_default_enum).to eq(2)
|
176
176
|
end
|
177
177
|
|
178
|
+
it "initializes with an object with a block" do
|
179
|
+
test_enum = Test::EnumTestMessage.new { |p| p.non_default_enum = 2 }
|
180
|
+
expect(test_enum.non_default_enum).to eq(2)
|
181
|
+
end
|
182
|
+
|
178
183
|
context 'ignoring unknown fields' do
|
179
184
|
before { ::Protobuf.ignore_unknown_fields = true }
|
180
185
|
|
@@ -401,7 +406,7 @@ RSpec.describe Protobuf::Message do
|
|
401
406
|
|
402
407
|
it 'does not populate default values' do
|
403
408
|
hash = Test::EnumTestMessage.new.to_hash
|
404
|
-
expect(hash).to eq(
|
409
|
+
expect(hash).to eq({})
|
405
410
|
end
|
406
411
|
|
407
412
|
it 'converts repeated enum fields to an array of the tags' do
|
@@ -57,9 +57,7 @@ RSpec.describe ::Protobuf::Rpc::ServiceDirectory do
|
|
57
57
|
|
58
58
|
def expect_event_trigger(event)
|
59
59
|
expect(::ActiveSupport::Notifications).to receive(:instrument)
|
60
|
-
.with(event, hash_including(
|
61
|
-
:listing => an_instance_of(::Protobuf::Rpc::ServiceDirectory::Listing),
|
62
|
-
)).once
|
60
|
+
.with(event, hash_including(:listing => an_instance_of(::Protobuf::Rpc::ServiceDirectory::Listing))).once
|
63
61
|
end
|
64
62
|
|
65
63
|
def send_beacon(type, server)
|
@@ -65,9 +65,9 @@ RSpec.describe Protobuf::Rpc::Service do
|
|
65
65
|
client = double('client')
|
66
66
|
expect(::Protobuf::Rpc::Client).to receive(:new)
|
67
67
|
.with(hash_including(
|
68
|
-
|
69
|
-
|
70
|
-
|
68
|
+
:service => subject,
|
69
|
+
:host => subject.host,
|
70
|
+
:port => subject.port,
|
71
71
|
)).and_return(client)
|
72
72
|
expect(subject.client).to eq client
|
73
73
|
end
|
@@ -5,9 +5,7 @@ require 'active_support/core_ext/numeric/time'
|
|
5
5
|
RSpec.describe ::Protobuf::Rpc::Stat do
|
6
6
|
|
7
7
|
before(:all) do
|
8
|
-
unless defined?(BarService)
|
9
|
-
class BarService < ::Struct.new(:method_name); end
|
10
|
-
end
|
8
|
+
BarService = ::Struct.new(:method_name) unless defined?(BarService)
|
11
9
|
end
|
12
10
|
|
13
11
|
describe 'server mode' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protobuf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BJ Neilsen
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2015-
|
14
|
+
date: 2015-04-13 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|
@@ -340,6 +340,8 @@ files:
|
|
340
340
|
- spec/lib/protobuf/cli_spec.rb
|
341
341
|
- spec/lib/protobuf/code_generator_spec.rb
|
342
342
|
- spec/lib/protobuf/enum_spec.rb
|
343
|
+
- spec/lib/protobuf/field/bool_field_spec.rb
|
344
|
+
- spec/lib/protobuf/field/field_array_spec.rb
|
343
345
|
- spec/lib/protobuf/field/float_field_spec.rb
|
344
346
|
- spec/lib/protobuf/field/int32_field_spec.rb
|
345
347
|
- spec/lib/protobuf/field/string_field_spec.rb
|
@@ -419,80 +421,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
419
421
|
version: '0'
|
420
422
|
requirements: []
|
421
423
|
rubyforge_project:
|
422
|
-
rubygems_version: 2.2.
|
424
|
+
rubygems_version: 2.2.0
|
423
425
|
signing_key:
|
424
426
|
specification_version: 4
|
425
427
|
summary: Google Protocol Buffers serialization and RPC implementation for Ruby.
|
426
|
-
test_files:
|
427
|
-
- spec/benchmark/tasks.rb
|
428
|
-
- spec/bin/protoc-gen-ruby_spec.rb
|
429
|
-
- spec/data/data.bin
|
430
|
-
- spec/data/types.bin
|
431
|
-
- spec/encoding/all_types_spec.rb
|
432
|
-
- spec/encoding/extreme_values_spec.rb
|
433
|
-
- spec/functional/class_inheritance_spec.rb
|
434
|
-
- spec/functional/socket_server_spec.rb
|
435
|
-
- spec/functional/zmq_server_spec.rb
|
436
|
-
- spec/lib/protobuf/cli_spec.rb
|
437
|
-
- spec/lib/protobuf/code_generator_spec.rb
|
438
|
-
- spec/lib/protobuf/enum_spec.rb
|
439
|
-
- spec/lib/protobuf/field/float_field_spec.rb
|
440
|
-
- spec/lib/protobuf/field/int32_field_spec.rb
|
441
|
-
- spec/lib/protobuf/field/string_field_spec.rb
|
442
|
-
- spec/lib/protobuf/field_spec.rb
|
443
|
-
- spec/lib/protobuf/generators/base_spec.rb
|
444
|
-
- spec/lib/protobuf/generators/enum_generator_spec.rb
|
445
|
-
- spec/lib/protobuf/generators/extension_generator_spec.rb
|
446
|
-
- spec/lib/protobuf/generators/field_generator_spec.rb
|
447
|
-
- spec/lib/protobuf/generators/file_generator_spec.rb
|
448
|
-
- spec/lib/protobuf/generators/message_generator_spec.rb
|
449
|
-
- spec/lib/protobuf/generators/service_generator_spec.rb
|
450
|
-
- spec/lib/protobuf/lifecycle_spec.rb
|
451
|
-
- spec/lib/protobuf/message_spec.rb
|
452
|
-
- spec/lib/protobuf/optionable_spec.rb
|
453
|
-
- spec/lib/protobuf/rpc/client_spec.rb
|
454
|
-
- spec/lib/protobuf/rpc/connector_spec.rb
|
455
|
-
- spec/lib/protobuf/rpc/connectors/base_spec.rb
|
456
|
-
- spec/lib/protobuf/rpc/connectors/common_spec.rb
|
457
|
-
- spec/lib/protobuf/rpc/connectors/socket_spec.rb
|
458
|
-
- spec/lib/protobuf/rpc/connectors/zmq_spec.rb
|
459
|
-
- spec/lib/protobuf/rpc/middleware/exception_handler_spec.rb
|
460
|
-
- spec/lib/protobuf/rpc/middleware/logger_spec.rb
|
461
|
-
- spec/lib/protobuf/rpc/middleware/request_decoder_spec.rb
|
462
|
-
- spec/lib/protobuf/rpc/middleware/response_encoder_spec.rb
|
463
|
-
- spec/lib/protobuf/rpc/servers/socket_server_spec.rb
|
464
|
-
- spec/lib/protobuf/rpc/servers/zmq/server_spec.rb
|
465
|
-
- spec/lib/protobuf/rpc/servers/zmq/util_spec.rb
|
466
|
-
- spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb
|
467
|
-
- spec/lib/protobuf/rpc/service_directory_spec.rb
|
468
|
-
- spec/lib/protobuf/rpc/service_dispatcher_spec.rb
|
469
|
-
- spec/lib/protobuf/rpc/service_filters_spec.rb
|
470
|
-
- spec/lib/protobuf/rpc/service_spec.rb
|
471
|
-
- spec/lib/protobuf/rpc/stat_spec.rb
|
472
|
-
- spec/lib/protobuf_spec.rb
|
473
|
-
- spec/spec_helper.rb
|
474
|
-
- spec/support/all.rb
|
475
|
-
- spec/support/packed_field.rb
|
476
|
-
- spec/support/server.rb
|
477
|
-
- spec/support/test/all_types.data.bin
|
478
|
-
- spec/support/test/all_types.data.txt
|
479
|
-
- spec/support/test/defaults.pb.rb
|
480
|
-
- spec/support/test/defaults.proto
|
481
|
-
- spec/support/test/enum.pb.rb
|
482
|
-
- spec/support/test/enum.proto
|
483
|
-
- spec/support/test/extended.pb.rb
|
484
|
-
- spec/support/test/extended.proto
|
485
|
-
- spec/support/test/extreme_values.data.bin
|
486
|
-
- spec/support/test/google_unittest.pb.rb
|
487
|
-
- spec/support/test/google_unittest.proto
|
488
|
-
- spec/support/test/google_unittest_import.pb.rb
|
489
|
-
- spec/support/test/google_unittest_import.proto
|
490
|
-
- spec/support/test/google_unittest_import_public.pb.rb
|
491
|
-
- spec/support/test/google_unittest_import_public.proto
|
492
|
-
- spec/support/test/multi_field_extensions.pb.rb
|
493
|
-
- spec/support/test/multi_field_extensions.proto
|
494
|
-
- spec/support/test/resource.pb.rb
|
495
|
-
- spec/support/test/resource.proto
|
496
|
-
- spec/support/test/resource_service.rb
|
497
|
-
- spec/support/test_app_file.rb
|
428
|
+
test_files: []
|
498
429
|
has_rdoc:
|