protobuffy 3.6.0 → 4.0.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/.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
|
-
[](http://badge.fury.io/rb/protobuf)
|
6
|
+
[](https://travis-ci.org/ruby-protobuf/protobuf)
|
7
|
+
[](https://gitter.im/ruby-protobuf/protobuf)
|
8
|
+
[](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|
|