protobuffy 3.6.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +67 -0
- data/.rubocop_todo.yml +145 -0
- data/.travis.yml +25 -5
- data/CHANGES.md +55 -0
- data/CONTRIBUTING.md +1 -1
- data/LICENSE.txt +17 -9
- data/README.md +13 -12
- data/Rakefile +15 -11
- data/bin/protoc-gen-ruby +8 -3
- data/bin/rpc_server +1 -0
- data/examples/lib/example/reverse-client.rb +2 -2
- data/install-protobuf.sh +28 -0
- data/lib/protobuf.rb +57 -53
- data/lib/protobuf/cli.rb +94 -74
- data/lib/protobuf/code_generator.rb +60 -9
- data/lib/protobuf/decoder.rb +19 -65
- data/lib/protobuf/deprecation.rb +117 -0
- data/lib/protobuf/descriptors/google/protobuf/compiler/plugin.pb.rb +11 -1
- data/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb +55 -3
- data/lib/protobuf/encoder.rb +13 -53
- data/lib/protobuf/enum.rb +58 -63
- data/lib/protobuf/field.rb +4 -4
- data/lib/protobuf/field/base_field.rb +101 -173
- data/lib/protobuf/field/bool_field.rb +17 -11
- data/lib/protobuf/field/bytes_field.rb +21 -35
- data/lib/protobuf/field/double_field.rb +0 -1
- data/lib/protobuf/field/enum_field.rb +23 -22
- data/lib/protobuf/field/field_array.rb +5 -4
- data/lib/protobuf/field/fixed32_field.rb +1 -1
- data/lib/protobuf/field/fixed64_field.rb +0 -1
- data/lib/protobuf/field/float_field.rb +4 -1
- data/lib/protobuf/field/int32_field.rb +0 -1
- data/lib/protobuf/field/int64_field.rb +0 -1
- data/lib/protobuf/field/integer_field.rb +0 -1
- data/lib/protobuf/field/message_field.rb +13 -28
- data/lib/protobuf/field/sfixed32_field.rb +0 -1
- data/lib/protobuf/field/sfixed64_field.rb +0 -1
- data/lib/protobuf/field/signed_integer_field.rb +0 -1
- data/lib/protobuf/field/sint32_field.rb +0 -1
- data/lib/protobuf/field/sint64_field.rb +0 -1
- data/lib/protobuf/field/string_field.rb +2 -4
- data/lib/protobuf/field/uint32_field.rb +0 -1
- data/lib/protobuf/field/uint64_field.rb +0 -1
- data/lib/protobuf/field/varint_field.rb +30 -13
- data/lib/protobuf/generators/base.rb +30 -16
- data/lib/protobuf/generators/enum_generator.rb +6 -9
- data/lib/protobuf/generators/extension_generator.rb +1 -2
- data/lib/protobuf/generators/field_generator.rb +25 -13
- data/lib/protobuf/generators/file_generator.rb +157 -35
- data/lib/protobuf/generators/group_generator.rb +22 -17
- data/lib/protobuf/generators/message_generator.rb +13 -14
- data/lib/protobuf/generators/option_generator.rb +17 -0
- data/lib/protobuf/generators/printable.rb +12 -13
- data/lib/protobuf/generators/service_generator.rb +2 -3
- data/lib/protobuf/http.rb +2 -2
- data/lib/protobuf/lifecycle.rb +20 -33
- data/lib/protobuf/logging.rb +39 -0
- data/lib/protobuf/message.rb +114 -47
- data/lib/protobuf/message/fields.rb +170 -88
- data/lib/protobuf/message/serialization.rb +19 -18
- data/lib/protobuf/optionable.rb +53 -6
- data/lib/protobuf/rpc/buffer.rb +18 -19
- data/lib/protobuf/rpc/client.rb +22 -50
- data/lib/protobuf/rpc/connectors/base.rb +177 -12
- data/lib/protobuf/rpc/connectors/http.rb +14 -9
- data/lib/protobuf/rpc/connectors/ping.rb +89 -0
- data/lib/protobuf/rpc/connectors/socket.rb +13 -8
- data/lib/protobuf/rpc/connectors/zmq.rb +178 -73
- data/lib/protobuf/rpc/dynamic_discovery.pb.rb +4 -1
- data/lib/protobuf/rpc/env.rb +12 -12
- data/lib/protobuf/rpc/error.rb +3 -3
- data/lib/protobuf/rpc/error/client_error.rb +4 -4
- data/lib/protobuf/rpc/error/server_error.rb +9 -9
- data/lib/protobuf/rpc/middleware/exception_handler.rb +6 -2
- data/lib/protobuf/rpc/middleware/logger.rb +8 -4
- data/lib/protobuf/rpc/middleware/request_decoder.rb +17 -21
- data/lib/protobuf/rpc/middleware/response_encoder.rb +22 -27
- data/lib/protobuf/rpc/middleware/statsd.rb +3 -3
- data/lib/protobuf/rpc/rpc.pb.rb +4 -1
- data/lib/protobuf/rpc/server.rb +1 -1
- data/lib/protobuf/rpc/servers/http/server.rb +19 -17
- data/lib/protobuf/rpc/servers/socket/server.rb +78 -70
- data/lib/protobuf/rpc/servers/socket/worker.rb +4 -4
- data/lib/protobuf/rpc/servers/socket_runner.rb +27 -15
- data/lib/protobuf/rpc/servers/zmq/broker.rb +70 -31
- data/lib/protobuf/rpc/servers/zmq/server.rb +55 -47
- data/lib/protobuf/rpc/servers/zmq/util.rb +14 -13
- data/lib/protobuf/rpc/servers/zmq/worker.rb +16 -16
- data/lib/protobuf/rpc/servers/zmq_runner.rb +26 -7
- data/lib/protobuf/rpc/service.rb +21 -27
- data/lib/protobuf/rpc/service_directory.rb +43 -27
- data/lib/protobuf/rpc/service_dispatcher.rb +9 -10
- data/lib/protobuf/rpc/service_filters.rb +32 -55
- data/lib/protobuf/rpc/stat.rb +4 -8
- data/lib/protobuf/socket.rb +1 -2
- data/lib/protobuf/tasks/compile.rake +3 -4
- data/lib/protobuf/varint.rb +9 -0
- data/lib/protobuf/varint_pure.rb +13 -0
- data/lib/protobuf/version.rb +1 -1
- data/lib/protobuf/zmq.rb +2 -2
- data/proto/google/protobuf/descriptor.proto +190 -31
- data/protobuffy.gemspec +30 -17
- data/spec/benchmark/tasks.rb +27 -19
- data/spec/bin/protoc-gen-ruby_spec.rb +11 -6
- data/spec/encoding/all_types_spec.rb +96 -84
- data/spec/encoding/extreme_values_spec.rb +0 -0
- data/spec/functional/class_inheritance_spec.rb +52 -0
- data/spec/functional/code_generator_spec.rb +38 -0
- data/spec/functional/socket_server_spec.rb +15 -15
- data/spec/functional/zmq_server_spec.rb +29 -27
- data/spec/lib/protobuf/cli_spec.rb +82 -67
- data/spec/lib/protobuf/code_generator_spec.rb +37 -10
- data/spec/lib/protobuf/enum_spec.rb +77 -46
- data/spec/lib/protobuf/field/bool_field_spec.rb +91 -0
- data/spec/lib/protobuf/field/double_field_spec.rb +9 -0
- data/spec/lib/protobuf/field/enum_field_spec.rb +26 -0
- data/spec/lib/protobuf/field/field_array_spec.rb +69 -0
- data/spec/lib/protobuf/field/fixed32_field_spec.rb +7 -0
- data/spec/lib/protobuf/field/fixed64_field_spec.rb +7 -0
- data/spec/lib/protobuf/field/float_field_spec.rb +90 -0
- data/spec/lib/protobuf/field/int32_field_spec.rb +114 -1
- data/spec/lib/protobuf/field/int64_field_spec.rb +7 -0
- data/spec/lib/protobuf/field/message_field_spec.rb +132 -0
- data/spec/lib/protobuf/field/sfixed32_field_spec.rb +9 -0
- data/spec/lib/protobuf/field/sfixed64_field_spec.rb +9 -0
- data/spec/lib/protobuf/field/sint32_field_spec.rb +9 -0
- data/spec/lib/protobuf/field/sint64_field_spec.rb +9 -0
- data/spec/lib/protobuf/field/string_field_spec.rb +44 -11
- data/spec/lib/protobuf/field/uint32_field_spec.rb +7 -0
- data/spec/lib/protobuf/field/uint64_field_spec.rb +7 -0
- data/spec/lib/protobuf/field_spec.rb +4 -6
- data/spec/lib/protobuf/generators/base_spec.rb +80 -13
- data/spec/lib/protobuf/generators/enum_generator_spec.rb +35 -21
- data/spec/lib/protobuf/generators/extension_generator_spec.rb +12 -13
- data/spec/lib/protobuf/generators/field_generator_spec.rb +73 -21
- data/spec/lib/protobuf/generators/file_generator_spec.rb +89 -6
- data/spec/lib/protobuf/generators/service_generator_spec.rb +25 -13
- data/spec/lib/protobuf/lifecycle_spec.rb +25 -20
- data/spec/lib/protobuf/message_spec.rb +578 -79
- data/spec/lib/protobuf/optionable_spec.rb +202 -26
- data/spec/lib/protobuf/rpc/client_spec.rb +16 -16
- data/spec/lib/protobuf/rpc/connectors/base_spec.rb +167 -13
- data/spec/lib/protobuf/rpc/connectors/connector_spec.rb +4 -5
- data/spec/lib/protobuf/rpc/connectors/http_spec.rb +13 -11
- data/spec/lib/protobuf/rpc/connectors/ping_spec.rb +69 -0
- data/spec/lib/protobuf/rpc/connectors/socket_spec.rb +6 -7
- data/spec/lib/protobuf/rpc/connectors/zmq_spec.rb +35 -52
- data/spec/lib/protobuf/rpc/middleware/exception_handler_spec.rb +10 -10
- data/spec/lib/protobuf/rpc/middleware/logger_spec.rb +11 -11
- data/spec/lib/protobuf/rpc/middleware/request_decoder_spec.rb +23 -23
- data/spec/lib/protobuf/rpc/middleware/response_encoder_spec.rb +11 -11
- data/spec/lib/protobuf/rpc/middleware/statsd_spec.rb +6 -6
- data/spec/lib/protobuf/rpc/servers/http/server_spec.rb +47 -44
- data/spec/lib/protobuf/rpc/servers/socket_server_spec.rb +6 -6
- data/spec/lib/protobuf/rpc/servers/zmq/server_spec.rb +12 -10
- data/spec/lib/protobuf/rpc/servers/zmq/util_spec.rb +11 -11
- data/spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb +7 -7
- data/spec/lib/protobuf/rpc/service_directory_spec.rb +47 -49
- data/spec/lib/protobuf/rpc/service_dispatcher_spec.rb +8 -25
- data/spec/lib/protobuf/rpc/service_filters_spec.rb +102 -69
- data/spec/lib/protobuf/rpc/service_spec.rb +37 -36
- data/spec/lib/protobuf/rpc/stat_spec.rb +7 -9
- data/spec/lib/protobuf/varint_spec.rb +29 -0
- data/spec/lib/protobuf_spec.rb +55 -28
- data/spec/spec_helper.rb +12 -27
- data/spec/support/all.rb +0 -1
- data/spec/support/packed_field.rb +4 -3
- data/spec/support/{test → protos}/all_types.data.bin +0 -0
- data/spec/support/{test → protos}/all_types.data.txt +0 -0
- data/spec/support/{test → protos}/enum.pb.rb +8 -4
- data/spec/support/{test → protos}/enum.proto +4 -1
- data/spec/support/{test → protos}/extreme_values.data.bin +0 -0
- data/spec/support/protos/google_unittest.bin +0 -0
- data/spec/support/protos/google_unittest.pb.rb +798 -0
- data/spec/support/{test → protos}/google_unittest.proto +237 -66
- data/spec/support/protos/google_unittest_custom_options.bin +0 -0
- data/spec/support/protos/google_unittest_custom_options.pb.rb +268 -0
- data/spec/support/protos/google_unittest_custom_options.proto +424 -0
- data/spec/support/protos/google_unittest_import.pb.rb +55 -0
- data/spec/support/{test → protos}/google_unittest_import.proto +19 -10
- data/spec/support/protos/google_unittest_import_public.pb.rb +31 -0
- data/spec/support/{test → protos}/google_unittest_import_public.proto +8 -5
- data/spec/support/{test → protos}/multi_field_extensions.pb.rb +5 -2
- data/spec/support/{test → protos}/multi_field_extensions.proto +2 -0
- data/spec/support/{test → protos}/resource.pb.rb +47 -11
- data/spec/support/{test → protos}/resource.proto +24 -1
- data/spec/support/resource_service.rb +23 -0
- data/spec/support/server.rb +32 -61
- metadata +119 -59
- data/lib/protobuf/deprecator.rb +0 -42
- data/lib/protobuf/logger.rb +0 -93
- data/lib/protobuf/rpc/connector.rb +0 -21
- data/lib/protobuf/rpc/connectors/common.rb +0 -172
- data/spec/data/data.bin +0 -3
- data/spec/data/types.bin +0 -0
- data/spec/lib/protobuf/logger_spec.rb +0 -145
- data/spec/lib/protobuf/rpc/connector_spec.rb +0 -26
- data/spec/lib/protobuf/rpc/connectors/common_spec.rb +0 -170
- data/spec/support/test/defaults.pb.rb +0 -25
- data/spec/support/test/defaults.proto +0 -9
- data/spec/support/test/extended.pb.rb +0 -22
- data/spec/support/test/extended.proto +0 -10
- data/spec/support/test/google_unittest.pb.rb +0 -543
- data/spec/support/test/google_unittest_import.pb.rb +0 -37
- data/spec/support/test/google_unittest_import_public.pb.rb +0 -8
- data/spec/support/test/resource_service.rb +0 -26
- data/spec/support/tolerance_matcher.rb +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9829f0fb4a57e594c74997ed046ca0e6335fe7a2
|
4
|
+
data.tar.gz: c16252c199d860b483ac96c8dff43eed3c26d580
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e8428e37d7c008253af9146fcbdaa3c5f7e3dedd87db562fff295956cbc21e0e3498635b55c500621cc2e23bb183b7c1c36a9da0971571fae00b0c61fa6b6d3
|
7
|
+
data.tar.gz: 5894ea8ebfd581f8a110c01f71e00b2d4200d1c428bba4bf4002d5fe4fd2450bc662a70ebcc5812a3499264ef7f00af07fbd769820ce4af23f748516e561c821
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
DisplayCopNames: true
|
5
|
+
Exclude:
|
6
|
+
- 'spec/support/protos/*.pb.rb'
|
7
|
+
|
8
|
+
Lint/EndAlignment:
|
9
|
+
AlignWith: keyword
|
10
|
+
|
11
|
+
Lint/Loop:
|
12
|
+
Enabled: false
|
13
|
+
|
14
|
+
Metrics/ClassLength:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
Metrics/ModuleLength:
|
18
|
+
Enabled: false
|
19
|
+
|
20
|
+
Style/CaseIndentation:
|
21
|
+
IndentWhenRelativeTo: end
|
22
|
+
|
23
|
+
Style/ClassAndModuleChildren:
|
24
|
+
Exclude:
|
25
|
+
- '**/*.pb.rb'
|
26
|
+
|
27
|
+
Style/ClassAndModuleCamelCase:
|
28
|
+
Exclude:
|
29
|
+
- '**/*.pb.rb'
|
30
|
+
|
31
|
+
Style/EmptyLineBetweenDefs:
|
32
|
+
AllowAdjacentOneLineDefs: true
|
33
|
+
|
34
|
+
Style/EmptyLines:
|
35
|
+
Exclude:
|
36
|
+
- '**/*.pb.rb'
|
37
|
+
|
38
|
+
Style/FileName:
|
39
|
+
Exclude:
|
40
|
+
- '**/protoc-gen-ruby*'
|
41
|
+
- '**/reverse-*'
|
42
|
+
|
43
|
+
Style/GuardClause:
|
44
|
+
MinBodyLength: 4
|
45
|
+
|
46
|
+
Style/HashSyntax:
|
47
|
+
EnforcedStyle: hash_rockets
|
48
|
+
|
49
|
+
Style/IndentHash:
|
50
|
+
EnforcedStyle: consistent
|
51
|
+
|
52
|
+
Style/Semicolon:
|
53
|
+
AllowAsExpressionSeparator: true
|
54
|
+
|
55
|
+
Style/SingleLineBlockParams:
|
56
|
+
Enabled: false
|
57
|
+
|
58
|
+
Style/TrailingBlankLines:
|
59
|
+
Exclude:
|
60
|
+
- '**/*.pb.rb'
|
61
|
+
|
62
|
+
Style/TrailingCommaInLiteral:
|
63
|
+
EnforcedStyleForMultiline: comma
|
64
|
+
|
65
|
+
Style/TrivialAccessors:
|
66
|
+
AllowDSLWriters: true
|
67
|
+
AllowPredicates: true
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2015-09-25 12:31:31 -0700 using RuboCop version 0.34.2.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 31
|
10
|
+
Metrics/AbcSize:
|
11
|
+
Max: 59
|
12
|
+
|
13
|
+
# Offense count: 1
|
14
|
+
Metrics/BlockNesting:
|
15
|
+
Max: 5
|
16
|
+
|
17
|
+
# Offense count: 6
|
18
|
+
Metrics/CyclomaticComplexity:
|
19
|
+
Max: 12
|
20
|
+
|
21
|
+
# Offense count: 493
|
22
|
+
# Configuration parameters: AllowURI, URISchemes.
|
23
|
+
Metrics/LineLength:
|
24
|
+
Max: 199
|
25
|
+
|
26
|
+
# Offense count: 44
|
27
|
+
# Configuration parameters: CountComments.
|
28
|
+
Metrics/MethodLength:
|
29
|
+
Max: 38
|
30
|
+
|
31
|
+
# Offense count: 2
|
32
|
+
# Configuration parameters: CountKeywordArgs.
|
33
|
+
Metrics/ParameterLists:
|
34
|
+
Max: 7
|
35
|
+
|
36
|
+
# Offense count: 6
|
37
|
+
Metrics/PerceivedComplexity:
|
38
|
+
Max: 17
|
39
|
+
|
40
|
+
# Offense count: 1
|
41
|
+
# Cop supports --auto-correct.
|
42
|
+
Performance/StringReplacement:
|
43
|
+
Exclude:
|
44
|
+
- 'lib/protobuf/rpc/buffer.rb'
|
45
|
+
|
46
|
+
Performance/TimesMap:
|
47
|
+
Enabled: false
|
48
|
+
|
49
|
+
# Offense count: 127
|
50
|
+
# Configuration parameters: Exclude.
|
51
|
+
Style/Documentation:
|
52
|
+
Enabled: false
|
53
|
+
|
54
|
+
# Offense count: 12
|
55
|
+
Style/DoubleNegation:
|
56
|
+
Exclude:
|
57
|
+
- 'lib/protobuf.rb'
|
58
|
+
- 'lib/protobuf/cli.rb'
|
59
|
+
- 'lib/protobuf/rpc/connectors/zmq.rb'
|
60
|
+
- 'lib/protobuf/rpc/servers/zmq/broker.rb'
|
61
|
+
- 'lib/protobuf/rpc/servers/zmq/server.rb'
|
62
|
+
- 'lib/protobuf/rpc/servers/zmq/worker.rb'
|
63
|
+
- 'lib/protobuf/rpc/service_directory.rb'
|
64
|
+
|
65
|
+
# Offense count: 2
|
66
|
+
# Cop supports --auto-correct.
|
67
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
68
|
+
Style/EmptyElse:
|
69
|
+
Exclude:
|
70
|
+
- 'lib/protobuf/enum.rb'
|
71
|
+
- 'lib/protobuf/message/fields.rb'
|
72
|
+
|
73
|
+
# Offense count: 77
|
74
|
+
# Cop supports --auto-correct.
|
75
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
76
|
+
Style/EmptyLinesAroundBlockBody:
|
77
|
+
Enabled: false
|
78
|
+
|
79
|
+
# Offense count: 90
|
80
|
+
# Cop supports --auto-correct.
|
81
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
82
|
+
Style/EmptyLinesAroundClassBody:
|
83
|
+
Enabled: false
|
84
|
+
|
85
|
+
# Offense count: 50
|
86
|
+
# Cop supports --auto-correct.
|
87
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
88
|
+
Style/EmptyLinesAroundModuleBody:
|
89
|
+
Enabled: false
|
90
|
+
|
91
|
+
# Offense count: 2
|
92
|
+
Style/IndentationWidth:
|
93
|
+
Exclude:
|
94
|
+
- 'protobuf.gemspec'
|
95
|
+
- 'lib/protobuf/cli.rb'
|
96
|
+
|
97
|
+
# Offense count: 3
|
98
|
+
Style/ElseAlignment:
|
99
|
+
Exclude:
|
100
|
+
- 'protobuf.gemspec'
|
101
|
+
- 'lib/protobuf/cli.rb'
|
102
|
+
|
103
|
+
# Offense count: 8
|
104
|
+
# Cop supports --auto-correct.
|
105
|
+
# Configuration parameters: AllowForAlignment.
|
106
|
+
Style/ExtraSpacing:
|
107
|
+
Exclude:
|
108
|
+
- 'lib/protobuf/rpc/connectors/common.rb'
|
109
|
+
- 'lib/protobuf/rpc/connectors/socket.rb'
|
110
|
+
- 'lib/protobuf/rpc/connectors/zmq.rb'
|
111
|
+
- 'lib/protobuf/rpc/servers/socket/server.rb'
|
112
|
+
- 'spec/lib/protobuf/rpc/service_directory_spec.rb'
|
113
|
+
|
114
|
+
# Offense count: 46
|
115
|
+
# Cop supports --auto-correct.
|
116
|
+
Style/NumericLiterals:
|
117
|
+
MinDigits: 21
|
118
|
+
|
119
|
+
Style/SignalException:
|
120
|
+
Enabled: false
|
121
|
+
|
122
|
+
# Offense count: 473
|
123
|
+
# Cop supports --auto-correct.
|
124
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
125
|
+
Style/StringLiterals:
|
126
|
+
Enabled: false
|
127
|
+
|
128
|
+
# Offense count: 7
|
129
|
+
# Cop supports --auto-correct.
|
130
|
+
# Configuration parameters: IgnoredMethods.
|
131
|
+
Style/SymbolProc:
|
132
|
+
Exclude:
|
133
|
+
- 'lib/protobuf/generators/printable.rb'
|
134
|
+
- 'lib/protobuf/rpc/servers/socket/server.rb'
|
135
|
+
- 'spec/encoding/all_types_spec.rb'
|
136
|
+
- 'spec/encoding/extreme_values_spec.rb'
|
137
|
+
- 'spec/functional/socket_server_spec.rb'
|
138
|
+
- 'spec/functional/zmq_server_spec.rb'
|
139
|
+
- 'spec/lib/protobuf/rpc/servers/socket_server_spec.rb'
|
140
|
+
|
141
|
+
# Offense count: 4
|
142
|
+
# Cop supports --auto-correct.
|
143
|
+
# Configuration parameters: WordRegex.
|
144
|
+
Style/WordArray:
|
145
|
+
MinSize: 4
|
data/.travis.yml
CHANGED
@@ -1,10 +1,30 @@
|
|
1
|
+
before_install:
|
2
|
+
- sudo apt-get update -qq
|
3
|
+
- sudo apt-get install -y libzmq3-dev
|
4
|
+
- sudo -E ./install-protobuf.sh
|
5
|
+
- java -Xmx1g -version
|
6
|
+
- javac -J-Xmx1g -version
|
7
|
+
- export JRUBY_OPTS=-J-Xmx1g
|
8
|
+
# Required for rainbow installation issue, https://github.com/sickill/rainbow/issues/44
|
9
|
+
- gem update --system
|
10
|
+
- gem update bundler
|
1
11
|
language: ruby
|
2
12
|
rvm:
|
3
|
-
- 1.9.3
|
4
|
-
- 2.
|
5
|
-
|
6
|
-
-
|
7
|
-
|
13
|
+
- 1.9.3
|
14
|
+
- 2.0.0
|
15
|
+
- 2.1
|
16
|
+
- 2.2
|
17
|
+
- 2.2.2
|
18
|
+
- 2.3
|
19
|
+
- jruby-9.1.7.0
|
20
|
+
- rbx-2
|
21
|
+
env:
|
22
|
+
- PROTOBUF_VERSION=2.6.1
|
23
|
+
- PROTOBUF_VERSION=3.0.0-alpha-2
|
24
|
+
matrix:
|
25
|
+
allow_failures:
|
26
|
+
- rvm: rbx-2
|
27
|
+
- env: PROTOBUF_VERSION=3.0.0-alpha-2
|
8
28
|
notifications:
|
9
29
|
webhooks:
|
10
30
|
urls:
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,60 @@
|
|
1
1
|
# Stable (3.x)
|
2
2
|
|
3
|
+
4.0.0
|
4
|
+
-----------
|
5
|
+
- Merge in ruby-protobuf/protobuf
|
6
|
+
|
7
|
+
Upstream 3.7.0 (pre2)
|
8
|
+
-----------
|
9
|
+
- BUG: Track if a repeated field has been deliberately set (#325)
|
10
|
+
|
11
|
+
Upstream 3.7.0 (pre1)
|
12
|
+
-----------
|
13
|
+
- BUG: Revert to old behavior for setting repeated fields to nil
|
14
|
+
- BUG: Set binmode for protoc-gen-ruby STDIN and STDOUT to compile proto files on Windows
|
15
|
+
- Make all things Optionable and fix requires
|
16
|
+
|
17
|
+
Upstream 3.7.0 (pre0)
|
18
|
+
-----------
|
19
|
+
- Add `PB_USE_RAW_RPC_NAMES` option to preserve raw RPC name (since #underscore can be lossy).
|
20
|
+
- Add `PB_ENUM_UPCASE` option to generate enum values as upcased.
|
21
|
+
- Clean up dynamic code generation in prep for extension namespacing.
|
22
|
+
- Namespace extension fields.
|
23
|
+
- Field values should be stored via their fully qualified names
|
24
|
+
- Refresh google/protobuf/descriptor.{proto,pb.rb}
|
25
|
+
- Properly encode and decode negative enum values.
|
26
|
+
|
27
|
+
Upstream 3.6.9
|
28
|
+
--------
|
29
|
+
- Make protobuf serivce directory pluggable.
|
30
|
+
|
31
|
+
Upstream 3.6.7
|
32
|
+
-----
|
33
|
+
- An issue was reported with the encode memoization added in #293 with using any array modification
|
34
|
+
method on repeated fields. Remove memoization on encode (#305) until we can find a better solution.
|
35
|
+
|
36
|
+
Upstream 3.5.5
|
37
|
+
--------
|
38
|
+
- Add native Varint for MRI.
|
39
|
+
|
40
|
+
Upstream 3.5.4
|
41
|
+
--------
|
42
|
+
- Ensures ActiveSupport::Deprecation does not get a stack trace when deprecations are disabled.
|
43
|
+
|
44
|
+
Upstream 3.5.3
|
45
|
+
--------
|
46
|
+
- Optimized get_extension_field and get_field calls.
|
47
|
+
|
48
|
+
Upstream 3.5.2
|
49
|
+
--------
|
50
|
+
- Optimized valid_tag?, enums_for_tag and enums_for_tags
|
51
|
+
|
52
|
+
Upstream 3.5.1
|
53
|
+
--------
|
54
|
+
- Adds compatibility for Rails 4.2+ as CLI options were broken
|
55
|
+
- Fixes bug with MRI and "dead" thread in zmq broker
|
56
|
+
- Fixes Rubocop compatability with new version
|
57
|
+
|
3
58
|
3.2.0
|
4
59
|
--------
|
5
60
|
|
data/CONTRIBUTING.md
CHANGED
@@ -6,7 +6,7 @@ your code merged.
|
|
6
6
|
|
7
7
|
1. Use GitHub Issues or Pull Requests over sending an email. It's much easier for me to keep track of your issue through GitHub.
|
8
8
|
2. For __compiler issues__, please provide both a gist for the __source definition(s)__ as well as the __generated output__ (if any).
|
9
|
-
3. For __existing issues or functionality__, please use __`
|
9
|
+
3. For __existing issues or functionality__, please use the latest stable branch (currently __`3-5-stable`__) as the base branch for the pull request. This helps us maintain a stable gem release strategy. All commits merged to stable will also be merged down to `master`.
|
10
10
|
4. For __new functionality__, please use __`master`__ as the base branch for the pull request. The `master` branch is used to stage all "next iteration" work.
|
11
11
|
5. Be patient with me as I work on your issue.
|
12
12
|
|
data/LICENSE.txt
CHANGED
@@ -1,14 +1,22 @@
|
|
1
|
-
|
2
|
-
Version 2, December 2004
|
1
|
+
The MIT License (MIT)
|
3
2
|
|
4
|
-
Copyright (
|
3
|
+
Copyright (c) 2014 BJ Neilsen
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
12
14
|
|
13
|
-
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
14
22
|
|
data/README.md
CHANGED
@@ -2,9 +2,10 @@
|
|
2
2
|
|
3
3
|
(the JSON slayer)
|
4
4
|
|
5
|
-
[![Gem Version](https://badge.fury.io/rb/protobuf.
|
6
|
-
[![Build Status](https://secure.travis-ci.org/
|
7
|
-
[![Gitter chat](https://badges.gitter.im/
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/protobuf.svg)](http://badge.fury.io/rb/protobuf)
|
6
|
+
[![Build Status](https://secure.travis-ci.org/ruby-protobuf/protobuf.svg?branch=master)](https://travis-ci.org/ruby-protobuf/protobuf)
|
7
|
+
[![Gitter chat](https://badges.gitter.im/ruby-protobuf/protobuf.svg)](https://gitter.im/ruby-protobuf/protobuf)
|
8
|
+
[![protobuf API Documentation](https://www.omniref.com/ruby/gems/protobuf.png)](https://www.omniref.com/ruby/gems/protobuf)
|
8
9
|
|
9
10
|
Protobuffy is an implementation of [Google's protocol buffers][google-pb] in
|
10
11
|
ruby, version 2.5.0 is currently supported.
|
@@ -47,12 +48,12 @@ Alternatively, start the server as a Rack app using a `rackup` and a standard `c
|
|
47
48
|
See recent changes in the [release notes][] or the [changelog][].
|
48
49
|
|
49
50
|
[google-pb]: http://code.google.com/p/protobuf "Google Protocol Buffers"
|
50
|
-
[wiki]: https://github.com/
|
51
|
-
[Installation Guide]: https://github.com/
|
52
|
-
[compiling definitions]: https://github.com/
|
53
|
-
[object APIs]: https://github.com/
|
54
|
-
[services]: https://github.com/
|
55
|
-
[clients]: https://github.com/
|
56
|
-
[API roadmap]: https://github.com/
|
57
|
-
[release notes]: https://github.com/
|
58
|
-
[changelog]: https://github.com/
|
51
|
+
[wiki]: https://github.com/ruby-protobuf/protobuf/wiki "Wiki home page"
|
52
|
+
[Installation Guide]: https://github.com/ruby-protobuf/protobuf/wiki/Installation "Installation guide"
|
53
|
+
[compiling definitions]: https://github.com/ruby-protobuf/protobuf/wiki/Compiling-Definitions "Compiling guide"
|
54
|
+
[object APIs]: https://github.com/ruby-protobuf/protobuf/wiki/Messages-&-Enums "Message & Enum object APIs guide"
|
55
|
+
[services]: https://github.com/ruby-protobuf/protobuf/wiki/Services "Services object API guide"
|
56
|
+
[clients]: https://github.com/ruby-protobuf/protobuf/wiki/Clients "Client object API guide"
|
57
|
+
[API roadmap]: https://github.com/ruby-protobuf/protobuf/wiki/API-Roadmap "API Roadmap guide"
|
58
|
+
[release notes]: https://github.com/ruby-protobuf/protobuf/releases "Release notes"
|
59
|
+
[changelog]: https://github.com/ruby-protobuf/protobuf/blob/master/CHANGES.md "CHANGES.md"
|
data/Rakefile
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
$LOAD_PATH << ::File.expand_path('../', __FILE__)
|
2
|
+
$LOAD_PATH << ::File.expand_path('../spec', __FILE__)
|
3
3
|
|
4
4
|
require 'fileutils'
|
5
5
|
require 'rubygems'
|
@@ -8,31 +8,35 @@ require 'bundler/gem_tasks'
|
|
8
8
|
require 'benchmark/tasks'
|
9
9
|
|
10
10
|
require 'rspec/core/rake_task'
|
11
|
-
|
12
|
-
desc 'Default: run specs.'
|
13
|
-
task :default => :spec
|
11
|
+
require 'rubocop/rake_task'
|
14
12
|
|
15
13
|
RSpec::Core::RakeTask.new(:spec)
|
14
|
+
RuboCop::RakeTask.new
|
15
|
+
|
16
|
+
task :default => ['compile:spec', 'compile:rpc', :spec, :rubocop]
|
16
17
|
|
17
18
|
desc 'Run specs'
|
18
19
|
namespace :compile do
|
19
20
|
|
20
21
|
desc 'Compile spec protos in spec/supprt/ directory'
|
21
|
-
task :spec do
|
22
|
+
task :spec do
|
22
23
|
proto_path = ::File.expand_path('../spec/support/', __FILE__)
|
23
|
-
|
24
|
+
proto_files = Dir[File.join(proto_path, '**', '*.proto')]
|
25
|
+
cmd = %(protoc --plugin=./bin/protoc-gen-ruby --ruby_out=#{proto_path} -I #{proto_path} #{proto_files.join(' ')})
|
24
26
|
|
25
27
|
puts cmd
|
26
|
-
|
28
|
+
system(cmd)
|
27
29
|
end
|
28
30
|
|
29
31
|
desc 'Compile rpc protos in protos/ directory'
|
30
|
-
task :rpc do
|
32
|
+
task :rpc do
|
31
33
|
proto_path = ::File.expand_path('../proto', __FILE__)
|
34
|
+
proto_files = Dir[File.join(proto_path, '**', '*.proto')]
|
35
|
+
puts "\n\n #{proto_files} \n\n"
|
32
36
|
output_dir = ::File.expand_path('../tmp/rpc', __FILE__)
|
33
37
|
::FileUtils.mkdir_p(output_dir)
|
34
38
|
|
35
|
-
cmd = %
|
39
|
+
cmd = %(protoc --plugin=./bin/protoc-gen-ruby --ruby_out=#{output_dir} -I #{proto_path} #{proto_files.join(' ')})
|
36
40
|
|
37
41
|
puts cmd
|
38
42
|
system(cmd)
|
@@ -41,7 +45,7 @@ namespace :compile do
|
|
41
45
|
'tmp/rpc/dynamic_discovery.pb.rb' => 'lib/protobuf/rpc',
|
42
46
|
'tmp/rpc/rpc.pb.rb' => 'lib/protobuf/rpc',
|
43
47
|
'tmp/rpc/google/protobuf/descriptor.pb.rb' => 'lib/protobuf/descriptors/google/protobuf',
|
44
|
-
'tmp/rpc/google/protobuf/compiler/plugin.pb.rb' => 'lib/protobuf/descriptors/google/protobuf/compiler'
|
48
|
+
'tmp/rpc/google/protobuf/compiler/plugin.pb.rb' => 'lib/protobuf/descriptors/google/protobuf/compiler',
|
45
49
|
}
|
46
50
|
|
47
51
|
files.each_pair do |source_file, destination_dir|
|