protobuf-cucumber 3.10.4

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.
Files changed (204) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.rubocop.yml +70 -0
  4. data/.rubocop_todo.yml +145 -0
  5. data/.travis.yml +40 -0
  6. data/.yardopts +5 -0
  7. data/CHANGES.md +344 -0
  8. data/CONTRIBUTING.md +16 -0
  9. data/Gemfile +3 -0
  10. data/LICENSE.txt +22 -0
  11. data/README.md +33 -0
  12. data/Rakefile +64 -0
  13. data/bin/protoc-gen-ruby +22 -0
  14. data/bin/rpc_server +5 -0
  15. data/install-protobuf.sh +28 -0
  16. data/lib/protobuf.rb +129 -0
  17. data/lib/protobuf/cli.rb +257 -0
  18. data/lib/protobuf/code_generator.rb +120 -0
  19. data/lib/protobuf/decoder.rb +28 -0
  20. data/lib/protobuf/deprecation.rb +117 -0
  21. data/lib/protobuf/descriptors.rb +3 -0
  22. data/lib/protobuf/descriptors/google/protobuf/compiler/plugin.pb.rb +62 -0
  23. data/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb +301 -0
  24. data/lib/protobuf/encoder.rb +11 -0
  25. data/lib/protobuf/enum.rb +365 -0
  26. data/lib/protobuf/exceptions.rb +9 -0
  27. data/lib/protobuf/field.rb +74 -0
  28. data/lib/protobuf/field/base_field.rb +380 -0
  29. data/lib/protobuf/field/base_field_object_definitions.rb +504 -0
  30. data/lib/protobuf/field/bool_field.rb +64 -0
  31. data/lib/protobuf/field/bytes_field.rb +78 -0
  32. data/lib/protobuf/field/double_field.rb +25 -0
  33. data/lib/protobuf/field/enum_field.rb +61 -0
  34. data/lib/protobuf/field/field_array.rb +104 -0
  35. data/lib/protobuf/field/field_hash.rb +122 -0
  36. data/lib/protobuf/field/fixed32_field.rb +25 -0
  37. data/lib/protobuf/field/fixed64_field.rb +28 -0
  38. data/lib/protobuf/field/float_field.rb +43 -0
  39. data/lib/protobuf/field/int32_field.rb +21 -0
  40. data/lib/protobuf/field/int64_field.rb +34 -0
  41. data/lib/protobuf/field/integer_field.rb +23 -0
  42. data/lib/protobuf/field/message_field.rb +51 -0
  43. data/lib/protobuf/field/sfixed32_field.rb +27 -0
  44. data/lib/protobuf/field/sfixed64_field.rb +28 -0
  45. data/lib/protobuf/field/signed_integer_field.rb +29 -0
  46. data/lib/protobuf/field/sint32_field.rb +21 -0
  47. data/lib/protobuf/field/sint64_field.rb +21 -0
  48. data/lib/protobuf/field/string_field.rb +51 -0
  49. data/lib/protobuf/field/uint32_field.rb +21 -0
  50. data/lib/protobuf/field/uint64_field.rb +21 -0
  51. data/lib/protobuf/field/varint_field.rb +77 -0
  52. data/lib/protobuf/generators/base.rb +85 -0
  53. data/lib/protobuf/generators/enum_generator.rb +39 -0
  54. data/lib/protobuf/generators/extension_generator.rb +27 -0
  55. data/lib/protobuf/generators/field_generator.rb +193 -0
  56. data/lib/protobuf/generators/file_generator.rb +262 -0
  57. data/lib/protobuf/generators/group_generator.rb +122 -0
  58. data/lib/protobuf/generators/message_generator.rb +104 -0
  59. data/lib/protobuf/generators/option_generator.rb +17 -0
  60. data/lib/protobuf/generators/printable.rb +160 -0
  61. data/lib/protobuf/generators/service_generator.rb +50 -0
  62. data/lib/protobuf/lifecycle.rb +33 -0
  63. data/lib/protobuf/logging.rb +39 -0
  64. data/lib/protobuf/message.rb +260 -0
  65. data/lib/protobuf/message/fields.rb +233 -0
  66. data/lib/protobuf/message/serialization.rb +85 -0
  67. data/lib/protobuf/optionable.rb +70 -0
  68. data/lib/protobuf/rpc/buffer.rb +78 -0
  69. data/lib/protobuf/rpc/client.rb +140 -0
  70. data/lib/protobuf/rpc/connectors/base.rb +221 -0
  71. data/lib/protobuf/rpc/connectors/ping.rb +89 -0
  72. data/lib/protobuf/rpc/connectors/socket.rb +78 -0
  73. data/lib/protobuf/rpc/connectors/zmq.rb +319 -0
  74. data/lib/protobuf/rpc/dynamic_discovery.pb.rb +50 -0
  75. data/lib/protobuf/rpc/env.rb +60 -0
  76. data/lib/protobuf/rpc/error.rb +28 -0
  77. data/lib/protobuf/rpc/error/client_error.rb +31 -0
  78. data/lib/protobuf/rpc/error/server_error.rb +43 -0
  79. data/lib/protobuf/rpc/middleware.rb +25 -0
  80. data/lib/protobuf/rpc/middleware/exception_handler.rb +40 -0
  81. data/lib/protobuf/rpc/middleware/logger.rb +95 -0
  82. data/lib/protobuf/rpc/middleware/request_decoder.rb +79 -0
  83. data/lib/protobuf/rpc/middleware/response_encoder.rb +83 -0
  84. data/lib/protobuf/rpc/middleware/runner.rb +18 -0
  85. data/lib/protobuf/rpc/rpc.pb.rb +64 -0
  86. data/lib/protobuf/rpc/rpc_method.rb +16 -0
  87. data/lib/protobuf/rpc/server.rb +39 -0
  88. data/lib/protobuf/rpc/servers/socket/server.rb +121 -0
  89. data/lib/protobuf/rpc/servers/socket/worker.rb +56 -0
  90. data/lib/protobuf/rpc/servers/socket_runner.rb +46 -0
  91. data/lib/protobuf/rpc/servers/zmq/broker.rb +194 -0
  92. data/lib/protobuf/rpc/servers/zmq/server.rb +321 -0
  93. data/lib/protobuf/rpc/servers/zmq/util.rb +48 -0
  94. data/lib/protobuf/rpc/servers/zmq/worker.rb +105 -0
  95. data/lib/protobuf/rpc/servers/zmq_runner.rb +70 -0
  96. data/lib/protobuf/rpc/service.rb +172 -0
  97. data/lib/protobuf/rpc/service_directory.rb +261 -0
  98. data/lib/protobuf/rpc/service_dispatcher.rb +45 -0
  99. data/lib/protobuf/rpc/service_filters.rb +250 -0
  100. data/lib/protobuf/rpc/stat.rb +119 -0
  101. data/lib/protobuf/socket.rb +21 -0
  102. data/lib/protobuf/tasks.rb +1 -0
  103. data/lib/protobuf/tasks/compile.rake +80 -0
  104. data/lib/protobuf/varint.rb +20 -0
  105. data/lib/protobuf/varint_pure.rb +31 -0
  106. data/lib/protobuf/version.rb +3 -0
  107. data/lib/protobuf/wire_type.rb +10 -0
  108. data/lib/protobuf/zmq.rb +21 -0
  109. data/profile.html +5103 -0
  110. data/proto/dynamic_discovery.proto +44 -0
  111. data/proto/google/protobuf/compiler/plugin.proto +147 -0
  112. data/proto/google/protobuf/descriptor.proto +779 -0
  113. data/proto/rpc.proto +69 -0
  114. data/protobuf-cucumber.gemspec +57 -0
  115. data/spec/benchmark/tasks.rb +143 -0
  116. data/spec/bin/protoc-gen-ruby_spec.rb +23 -0
  117. data/spec/encoding/all_types_spec.rb +103 -0
  118. data/spec/encoding/extreme_values_spec.rb +0 -0
  119. data/spec/functional/class_inheritance_spec.rb +52 -0
  120. data/spec/functional/code_generator_spec.rb +58 -0
  121. data/spec/functional/socket_server_spec.rb +59 -0
  122. data/spec/functional/zmq_server_spec.rb +105 -0
  123. data/spec/lib/protobuf/cli_spec.rb +317 -0
  124. data/spec/lib/protobuf/code_generator_spec.rb +87 -0
  125. data/spec/lib/protobuf/enum_spec.rb +307 -0
  126. data/spec/lib/protobuf/field/bool_field_spec.rb +91 -0
  127. data/spec/lib/protobuf/field/double_field_spec.rb +9 -0
  128. data/spec/lib/protobuf/field/enum_field_spec.rb +44 -0
  129. data/spec/lib/protobuf/field/field_array_spec.rb +105 -0
  130. data/spec/lib/protobuf/field/field_hash_spec.rb +168 -0
  131. data/spec/lib/protobuf/field/fixed32_field_spec.rb +7 -0
  132. data/spec/lib/protobuf/field/fixed64_field_spec.rb +7 -0
  133. data/spec/lib/protobuf/field/float_field_spec.rb +90 -0
  134. data/spec/lib/protobuf/field/int32_field_spec.rb +120 -0
  135. data/spec/lib/protobuf/field/int64_field_spec.rb +7 -0
  136. data/spec/lib/protobuf/field/message_field_spec.rb +132 -0
  137. data/spec/lib/protobuf/field/sfixed32_field_spec.rb +9 -0
  138. data/spec/lib/protobuf/field/sfixed64_field_spec.rb +9 -0
  139. data/spec/lib/protobuf/field/sint32_field_spec.rb +9 -0
  140. data/spec/lib/protobuf/field/sint64_field_spec.rb +9 -0
  141. data/spec/lib/protobuf/field/string_field_spec.rb +79 -0
  142. data/spec/lib/protobuf/field/uint32_field_spec.rb +7 -0
  143. data/spec/lib/protobuf/field/uint64_field_spec.rb +7 -0
  144. data/spec/lib/protobuf/field_spec.rb +192 -0
  145. data/spec/lib/protobuf/generators/base_spec.rb +154 -0
  146. data/spec/lib/protobuf/generators/enum_generator_spec.rb +82 -0
  147. data/spec/lib/protobuf/generators/extension_generator_spec.rb +42 -0
  148. data/spec/lib/protobuf/generators/field_generator_spec.rb +197 -0
  149. data/spec/lib/protobuf/generators/file_generator_spec.rb +119 -0
  150. data/spec/lib/protobuf/generators/message_generator_spec.rb +0 -0
  151. data/spec/lib/protobuf/generators/service_generator_spec.rb +99 -0
  152. data/spec/lib/protobuf/lifecycle_spec.rb +94 -0
  153. data/spec/lib/protobuf/message_spec.rb +944 -0
  154. data/spec/lib/protobuf/optionable_spec.rb +265 -0
  155. data/spec/lib/protobuf/rpc/client_spec.rb +66 -0
  156. data/spec/lib/protobuf/rpc/connectors/base_spec.rb +226 -0
  157. data/spec/lib/protobuf/rpc/connectors/ping_spec.rb +69 -0
  158. data/spec/lib/protobuf/rpc/connectors/socket_spec.rb +34 -0
  159. data/spec/lib/protobuf/rpc/connectors/zmq_spec.rb +110 -0
  160. data/spec/lib/protobuf/rpc/middleware/exception_handler_spec.rb +62 -0
  161. data/spec/lib/protobuf/rpc/middleware/logger_spec.rb +49 -0
  162. data/spec/lib/protobuf/rpc/middleware/request_decoder_spec.rb +115 -0
  163. data/spec/lib/protobuf/rpc/middleware/response_encoder_spec.rb +91 -0
  164. data/spec/lib/protobuf/rpc/servers/socket_server_spec.rb +38 -0
  165. data/spec/lib/protobuf/rpc/servers/zmq/server_spec.rb +43 -0
  166. data/spec/lib/protobuf/rpc/servers/zmq/util_spec.rb +55 -0
  167. data/spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb +35 -0
  168. data/spec/lib/protobuf/rpc/service_directory_spec.rb +293 -0
  169. data/spec/lib/protobuf/rpc/service_dispatcher_spec.rb +35 -0
  170. data/spec/lib/protobuf/rpc/service_filters_spec.rb +517 -0
  171. data/spec/lib/protobuf/rpc/service_spec.rb +162 -0
  172. data/spec/lib/protobuf/rpc/stat_spec.rb +101 -0
  173. data/spec/lib/protobuf/varint_spec.rb +29 -0
  174. data/spec/lib/protobuf_spec.rb +105 -0
  175. data/spec/spec_helper.rb +42 -0
  176. data/spec/support/all.rb +6 -0
  177. data/spec/support/packed_field.rb +23 -0
  178. data/spec/support/protos/all_types.data.bin +0 -0
  179. data/spec/support/protos/all_types.data.txt +119 -0
  180. data/spec/support/protos/enum.pb.rb +63 -0
  181. data/spec/support/protos/enum.proto +37 -0
  182. data/spec/support/protos/extreme_values.data.bin +0 -0
  183. data/spec/support/protos/google_unittest.bin +0 -0
  184. data/spec/support/protos/google_unittest.pb.rb +798 -0
  185. data/spec/support/protos/google_unittest.proto +884 -0
  186. data/spec/support/protos/google_unittest_custom_options.bin +0 -0
  187. data/spec/support/protos/google_unittest_custom_options.pb.rb +361 -0
  188. data/spec/support/protos/google_unittest_custom_options.proto +424 -0
  189. data/spec/support/protos/google_unittest_import.pb.rb +55 -0
  190. data/spec/support/protos/google_unittest_import.proto +73 -0
  191. data/spec/support/protos/google_unittest_import_public.pb.rb +31 -0
  192. data/spec/support/protos/google_unittest_import_public.proto +41 -0
  193. data/spec/support/protos/map-test.bin +157 -0
  194. data/spec/support/protos/map-test.pb.rb +85 -0
  195. data/spec/support/protos/map-test.proto +68 -0
  196. data/spec/support/protos/multi_field_extensions.pb.rb +59 -0
  197. data/spec/support/protos/multi_field_extensions.proto +35 -0
  198. data/spec/support/protos/resource.pb.rb +172 -0
  199. data/spec/support/protos/resource.proto +137 -0
  200. data/spec/support/resource_service.rb +23 -0
  201. data/spec/support/server.rb +65 -0
  202. data/spec/support/test_app_file.rb +2 -0
  203. data/varint_prof.rb +82 -0
  204. metadata +579 -0
@@ -0,0 +1,120 @@
1
+ require 'active_support/core_ext/module/aliasing'
2
+ require 'protobuf/generators/file_generator'
3
+
4
+ module Protobuf
5
+ class CodeGenerator
6
+
7
+ CodeGeneratorFatalError = Class.new(RuntimeError)
8
+
9
+ def self.fatal(message)
10
+ fail CodeGeneratorFatalError, message
11
+ end
12
+
13
+ def self.print_tag_warning_suppress
14
+ STDERR.puts "Suppress tag warning output with PB_NO_TAG_WARNINGS=1."
15
+ def self.print_tag_warning_suppress; end # rubocop:disable Lint/DuplicateMethods, Lint/NestedMethodDefinition
16
+ end
17
+
18
+ def self.warn(message)
19
+ STDERR.puts("[WARN] #{message}")
20
+ end
21
+
22
+ private
23
+
24
+ attr_accessor :request
25
+
26
+ public
27
+
28
+ def initialize(request_bytes)
29
+ @request_bytes = request_bytes
30
+ self.request = ::Google::Protobuf::Compiler::CodeGeneratorRequest.decode(request_bytes)
31
+ end
32
+
33
+ def eval_unknown_extensions!
34
+ request.proto_file.each do |file_descriptor|
35
+ ::Protobuf::Generators::FileGenerator.new(file_descriptor).eval_unknown_extensions!
36
+ end
37
+ self.request = ::Google::Protobuf::Compiler::CodeGeneratorRequest.decode(@request_bytes)
38
+ end
39
+
40
+ def generate_file(file_descriptor)
41
+ ::Protobuf::Generators::FileGenerator.new(file_descriptor).generate_output_file
42
+ end
43
+
44
+ def response_bytes
45
+ generated_files = request.proto_file.map do |file_descriptor|
46
+ generate_file(file_descriptor)
47
+ end
48
+
49
+ ::Google::Protobuf::Compiler::CodeGeneratorResponse.encode(:file => generated_files)
50
+ end
51
+
52
+ Protobuf::Field::BaseField.module_eval do
53
+ def define_set_method!
54
+ end
55
+
56
+ def set_without_options(message_instance, bytes)
57
+ return message_instance[name] = decode(bytes) unless repeated?
58
+
59
+ if map?
60
+ hash = message_instance[name]
61
+ entry = decode(bytes)
62
+ # decoded value could be nil for an
63
+ # enum value that is not recognized
64
+ hash[entry.key] = entry.value unless entry.value.nil?
65
+ return hash[entry.key]
66
+ end
67
+
68
+ return message_instance[name] << decode(bytes) unless packed?
69
+
70
+ array = message_instance[name]
71
+ stream = StringIO.new(bytes)
72
+
73
+ if wire_type == ::Protobuf::WireType::VARINT
74
+ array << decode(Varint.decode(stream)) until stream.eof?
75
+ elsif wire_type == ::Protobuf::WireType::FIXED64
76
+ array << decode(stream.read(8)) until stream.eof?
77
+ elsif wire_type == ::Protobuf::WireType::FIXED32
78
+ array << decode(stream.read(4)) until stream.eof?
79
+ end
80
+ end
81
+
82
+ # Sets a MessageField that is known to be an option.
83
+ # We must allow fields to be set one at a time, as option syntax allows us to
84
+ # set each field within the option using a separate "option" line.
85
+ def set_with_options(message_instance, bytes)
86
+ if message_instance[name].is_a?(::Protobuf::Message)
87
+ gp = Google::Protobuf
88
+ if message_instance.is_a?(gp::EnumOptions) || message_instance.is_a?(gp::EnumValueOptions) ||
89
+ message_instance.is_a?(gp::FieldOptions) || message_instance.is_a?(gp::FileOptions) ||
90
+ message_instance.is_a?(gp::MethodOptions) || message_instance.is_a?(gp::ServiceOptions) ||
91
+ message_instance.is_a?(gp::MessageOptions)
92
+
93
+ original_field = message_instance[name]
94
+ decoded_field = decode(bytes)
95
+ decoded_field.each_field do |subfield, subvalue|
96
+ option_set(original_field, subfield, subvalue) { decoded_field.field?(subfield.tag) }
97
+ end
98
+ return
99
+ end
100
+ end
101
+
102
+ set_without_options(message_instance, bytes)
103
+ end
104
+ alias_method :set, :set_with_options
105
+
106
+ def option_set(message_field, subfield, subvalue)
107
+ return unless yield
108
+ if subfield.repeated?
109
+ message_field[subfield.tag].concat(subvalue)
110
+ elsif message_field[subfield.tag] && subvalue.is_a?(::Protobuf::Message)
111
+ subvalue.each_field do |f, v|
112
+ option_set(message_field[subfield.tag], f, v) { subvalue.field?(f.tag) }
113
+ end
114
+ else
115
+ message_field[subfield.tag] = subvalue
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,28 @@
1
+ module Protobuf
2
+ class Decoder
3
+
4
+ # Read bytes from +stream+ and pass to +message+ object.
5
+ def self.decode_each_field(stream)
6
+ until stream.eof?
7
+ bits = Varint.decode(stream)
8
+ wire_type = bits & 0x07
9
+ tag = bits >> 3
10
+
11
+ bytes = if wire_type == ::Protobuf::WireType::VARINT
12
+ Varint.decode(stream)
13
+ elsif wire_type == ::Protobuf::WireType::LENGTH_DELIMITED
14
+ value_length = Varint.decode(stream)
15
+ stream.read(value_length)
16
+ elsif wire_type == ::Protobuf::WireType::FIXED64
17
+ stream.read(8)
18
+ elsif wire_type == ::Protobuf::WireType::FIXED32
19
+ stream.read(4)
20
+ else
21
+ fail InvalidWireType, wire_type
22
+ end
23
+
24
+ yield(tag, bytes)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,117 @@
1
+ require 'active_support/deprecation'
2
+
3
+ module Protobuf
4
+ if ::ActiveSupport::Deprecation.is_a?(Class)
5
+ class DeprecationBase < ::ActiveSupport::Deprecation
6
+ def deprecate_methods(*args)
7
+ deprecation_options = { :deprecator => self }
8
+
9
+ if args.last.is_a?(Hash)
10
+ args.last.merge!(deprecation_options)
11
+ else
12
+ args.push(deprecation_options)
13
+ end
14
+
15
+ super
16
+ end
17
+
18
+ def deprecation_warning(deprecated_method_name, message = nil, caller_backtrace = nil)
19
+ # This ensures ActiveSupport::Deprecation doesn't look for the caller, which is very costly.
20
+ super(deprecated_method_name, message, caller_backtrace) unless ENV.key?('PB_IGNORE_DEPRECATIONS')
21
+ end
22
+ end
23
+
24
+ class Deprecation < DeprecationBase
25
+ def define_deprecated_methods(target_module, method_hash)
26
+ target_module.module_eval do
27
+ method_hash.each do |old_method, new_method|
28
+ alias_method old_method, new_method
29
+ end
30
+ end
31
+
32
+ deprecate_methods(target_module, method_hash)
33
+ end
34
+ end
35
+
36
+ class FieldDeprecation < DeprecationBase
37
+ # this is a convenience deprecator for deprecated proto fields
38
+
39
+ def deprecate_method(target_module, method_name)
40
+ deprecate_methods(target_module, method_name => target_module)
41
+ end
42
+
43
+ private
44
+
45
+ def deprecated_method_warning(method_name, target_module)
46
+ "#{target_module.name}##{method_name} field usage is deprecated"
47
+ end
48
+ end
49
+ else
50
+ # TODO: remove this clause when Rails < 4 support is no longer needed
51
+ deprecator = ::ActiveSupport::Deprecation.clone
52
+ deprecator.instance_eval do
53
+ def new(deprecation_horizon = nil, *)
54
+ self.deprecation_horizon = deprecation_horizon if deprecation_horizon
55
+ self
56
+ end
57
+ end
58
+ Deprecation = deprecator.clone
59
+ FieldDeprecation = deprecator.clone
60
+
61
+ Deprecation.instance_eval do
62
+ def define_deprecated_methods(target_module, method_hash)
63
+ target_module.module_eval do
64
+ method_hash.each do |old_method, new_method|
65
+ alias_method old_method, new_method
66
+ end
67
+ end
68
+
69
+ deprecate_methods(target_module, method_hash)
70
+ end
71
+ end
72
+
73
+ FieldDeprecation.instance_eval do
74
+ def deprecate_method(target_module, method_name)
75
+ deprecate_methods(target_module, method_name => target_module)
76
+ end
77
+
78
+ private
79
+
80
+ def deprecated_method_warning(method_name, target_module)
81
+ "#{target_module.name}##{method_name} field usage is deprecated"
82
+ end
83
+ end
84
+ end
85
+
86
+ def self.deprecator
87
+ @deprecator ||= Deprecation.new('4.0', to_s).tap do |deprecation|
88
+ deprecation.silenced = ENV.key?('PB_IGNORE_DEPRECATIONS')
89
+ deprecation.behavior = :stderr
90
+ end
91
+ end
92
+
93
+ def self.field_deprecator
94
+ @field_deprecator ||= FieldDeprecation.new.tap do |deprecation|
95
+ deprecation.silenced = ENV.key?('PB_IGNORE_DEPRECATIONS')
96
+ deprecation.behavior = :stderr
97
+ end
98
+ end
99
+
100
+ # Print Deprecation Warnings
101
+ #
102
+ # Default: true
103
+ #
104
+ # Simple boolean to define whether we want field deprecation warnings to
105
+ # be printed to stderr or not. The rpc_server has an option to set this value
106
+ # explicitly, or you can turn this option off by setting
107
+ # ENV['PB_IGNORE_DEPRECATIONS'] to a non-empty value.
108
+ #
109
+ # The rpc_server option will override the ENV setting.
110
+ def self.print_deprecation_warnings?
111
+ !field_deprecator.silenced
112
+ end
113
+
114
+ def self.print_deprecation_warnings=(value)
115
+ field_deprecator.silenced = !value
116
+ end
117
+ end
@@ -0,0 +1,3 @@
1
+ $LOAD_PATH << ::File.expand_path("../descriptors", __FILE__)
2
+ require 'google/protobuf/descriptor.pb'
3
+ require 'google/protobuf/compiler/plugin.pb'
@@ -0,0 +1,62 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf'
7
+
8
+
9
+ ##
10
+ # Imports
11
+ #
12
+ require 'google/protobuf/descriptor.pb'
13
+
14
+ module Google
15
+ module Protobuf
16
+ module Compiler
17
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
18
+
19
+ ##
20
+ # Message Classes
21
+ #
22
+ class CodeGeneratorRequest < ::Protobuf::Message; end
23
+ class CodeGeneratorResponse < ::Protobuf::Message
24
+ class File < ::Protobuf::Message; end
25
+
26
+ end
27
+
28
+
29
+
30
+ ##
31
+ # File Options
32
+ #
33
+ set_option :java_package, "com.google.protobuf.compiler"
34
+ set_option :java_outer_classname, "PluginProtos"
35
+
36
+
37
+ ##
38
+ # Message Fields
39
+ #
40
+ class CodeGeneratorRequest
41
+ repeated :string, :file_to_generate, 1
42
+ optional :string, :parameter, 2
43
+ repeated ::Google::Protobuf::FileDescriptorProto, :proto_file, 15
44
+ end
45
+
46
+ class CodeGeneratorResponse
47
+ class File
48
+ optional :string, :name, 1
49
+ optional :string, :insertion_point, 2
50
+ optional :string, :content, 15
51
+ end
52
+
53
+ optional :string, :error, 1
54
+ repeated ::Google::Protobuf::Compiler::CodeGeneratorResponse::File, :file, 15
55
+ end
56
+
57
+ end
58
+
59
+ end
60
+
61
+ end
62
+
@@ -0,0 +1,301 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf'
7
+
8
+ module Google
9
+ module Protobuf
10
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
11
+
12
+ ##
13
+ # Message Classes
14
+ #
15
+ class FileDescriptorSet < ::Protobuf::Message; end
16
+ class FileDescriptorProto < ::Protobuf::Message; end
17
+ class DescriptorProto < ::Protobuf::Message
18
+ class ExtensionRange < ::Protobuf::Message; end
19
+ class ReservedRange < ::Protobuf::Message; end
20
+
21
+ end
22
+
23
+ class FieldDescriptorProto < ::Protobuf::Message
24
+ class Type < ::Protobuf::Enum
25
+ define :TYPE_DOUBLE, 1
26
+ define :TYPE_FLOAT, 2
27
+ define :TYPE_INT64, 3
28
+ define :TYPE_UINT64, 4
29
+ define :TYPE_INT32, 5
30
+ define :TYPE_FIXED64, 6
31
+ define :TYPE_FIXED32, 7
32
+ define :TYPE_BOOL, 8
33
+ define :TYPE_STRING, 9
34
+ define :TYPE_GROUP, 10
35
+ define :TYPE_MESSAGE, 11
36
+ define :TYPE_BYTES, 12
37
+ define :TYPE_UINT32, 13
38
+ define :TYPE_ENUM, 14
39
+ define :TYPE_SFIXED32, 15
40
+ define :TYPE_SFIXED64, 16
41
+ define :TYPE_SINT32, 17
42
+ define :TYPE_SINT64, 18
43
+ end
44
+
45
+ class Label < ::Protobuf::Enum
46
+ define :LABEL_OPTIONAL, 1
47
+ define :LABEL_REQUIRED, 2
48
+ define :LABEL_REPEATED, 3
49
+ end
50
+
51
+ end
52
+
53
+ class OneofDescriptorProto < ::Protobuf::Message; end
54
+ class EnumDescriptorProto < ::Protobuf::Message; end
55
+ class EnumValueDescriptorProto < ::Protobuf::Message; end
56
+ class ServiceDescriptorProto < ::Protobuf::Message; end
57
+ class MethodDescriptorProto < ::Protobuf::Message; end
58
+ class FileOptions < ::Protobuf::Message
59
+ class OptimizeMode < ::Protobuf::Enum
60
+ define :SPEED, 1
61
+ define :CODE_SIZE, 2
62
+ define :LITE_RUNTIME, 3
63
+ end
64
+
65
+ end
66
+
67
+ class MessageOptions < ::Protobuf::Message; end
68
+ class FieldOptions < ::Protobuf::Message
69
+ class CType < ::Protobuf::Enum
70
+ define :STRING, 0
71
+ define :CORD, 1
72
+ define :STRING_PIECE, 2
73
+ end
74
+
75
+ class JSType < ::Protobuf::Enum
76
+ define :JS_NORMAL, 0
77
+ define :JS_STRING, 1
78
+ define :JS_NUMBER, 2
79
+ end
80
+
81
+ end
82
+
83
+ class EnumOptions < ::Protobuf::Message; end
84
+ class EnumValueOptions < ::Protobuf::Message; end
85
+ class ServiceOptions < ::Protobuf::Message; end
86
+ class MethodOptions < ::Protobuf::Message; end
87
+ class UninterpretedOption < ::Protobuf::Message
88
+ class NamePart < ::Protobuf::Message; end
89
+
90
+ end
91
+
92
+ class SourceCodeInfo < ::Protobuf::Message
93
+ class Location < ::Protobuf::Message; end
94
+
95
+ end
96
+
97
+
98
+
99
+ ##
100
+ # File Options
101
+ #
102
+ set_option :java_package, "com.google.protobuf"
103
+ set_option :java_outer_classname, "DescriptorProtos"
104
+ set_option :optimize_for, ::Google::Protobuf::FileOptions::OptimizeMode::SPEED
105
+ set_option :go_package, "descriptor"
106
+ set_option :objc_class_prefix, "GPB"
107
+ set_option :csharp_namespace, "Google.Protobuf.Reflection"
108
+
109
+
110
+ ##
111
+ # Message Fields
112
+ #
113
+ class FileDescriptorSet
114
+ repeated ::Google::Protobuf::FileDescriptorProto, :file, 1
115
+ end
116
+
117
+ class FileDescriptorProto
118
+ optional :string, :name, 1
119
+ optional :string, :package, 2
120
+ repeated :string, :dependency, 3
121
+ repeated :int32, :public_dependency, 10
122
+ repeated :int32, :weak_dependency, 11
123
+ repeated ::Google::Protobuf::DescriptorProto, :message_type, 4
124
+ repeated ::Google::Protobuf::EnumDescriptorProto, :enum_type, 5
125
+ repeated ::Google::Protobuf::ServiceDescriptorProto, :service, 6
126
+ repeated ::Google::Protobuf::FieldDescriptorProto, :extension, 7
127
+ optional ::Google::Protobuf::FileOptions, :options, 8
128
+ optional ::Google::Protobuf::SourceCodeInfo, :source_code_info, 9
129
+ optional :string, :syntax, 12
130
+ end
131
+
132
+ class DescriptorProto
133
+ class ExtensionRange
134
+ optional :int32, :start, 1
135
+ optional :int32, :end, 2
136
+ end
137
+
138
+ class ReservedRange
139
+ optional :int32, :start, 1
140
+ optional :int32, :end, 2
141
+ end
142
+
143
+ optional :string, :name, 1
144
+ repeated ::Google::Protobuf::FieldDescriptorProto, :field, 2
145
+ repeated ::Google::Protobuf::FieldDescriptorProto, :extension, 6
146
+ repeated ::Google::Protobuf::DescriptorProto, :nested_type, 3
147
+ repeated ::Google::Protobuf::EnumDescriptorProto, :enum_type, 4
148
+ repeated ::Google::Protobuf::DescriptorProto::ExtensionRange, :extension_range, 5
149
+ repeated ::Google::Protobuf::OneofDescriptorProto, :oneof_decl, 8
150
+ optional ::Google::Protobuf::MessageOptions, :options, 7
151
+ repeated ::Google::Protobuf::DescriptorProto::ReservedRange, :reserved_range, 9
152
+ repeated :string, :reserved_name, 10
153
+ end
154
+
155
+ class FieldDescriptorProto
156
+ optional :string, :name, 1
157
+ optional :int32, :number, 3
158
+ optional ::Google::Protobuf::FieldDescriptorProto::Label, :label, 4
159
+ optional ::Google::Protobuf::FieldDescriptorProto::Type, :type, 5
160
+ optional :string, :type_name, 6
161
+ optional :string, :extendee, 2
162
+ optional :string, :default_value, 7
163
+ optional :int32, :oneof_index, 9
164
+ optional :string, :json_name, 10
165
+ optional ::Google::Protobuf::FieldOptions, :options, 8
166
+ end
167
+
168
+ class OneofDescriptorProto
169
+ optional :string, :name, 1
170
+ end
171
+
172
+ class EnumDescriptorProto
173
+ optional :string, :name, 1
174
+ repeated ::Google::Protobuf::EnumValueDescriptorProto, :value, 2
175
+ optional ::Google::Protobuf::EnumOptions, :options, 3
176
+ end
177
+
178
+ class EnumValueDescriptorProto
179
+ optional :string, :name, 1
180
+ optional :int32, :number, 2
181
+ optional ::Google::Protobuf::EnumValueOptions, :options, 3
182
+ end
183
+
184
+ class ServiceDescriptorProto
185
+ optional :string, :name, 1
186
+ repeated ::Google::Protobuf::MethodDescriptorProto, :method, 2
187
+ optional ::Google::Protobuf::ServiceOptions, :options, 3
188
+ end
189
+
190
+ class MethodDescriptorProto
191
+ optional :string, :name, 1
192
+ optional :string, :input_type, 2
193
+ optional :string, :output_type, 3
194
+ optional ::Google::Protobuf::MethodOptions, :options, 4
195
+ optional :bool, :client_streaming, 5, :default => false
196
+ optional :bool, :server_streaming, 6, :default => false
197
+ end
198
+
199
+ class FileOptions
200
+ optional :string, :java_package, 1
201
+ optional :string, :java_outer_classname, 8
202
+ optional :bool, :java_multiple_files, 10, :default => false
203
+ optional :bool, :java_generate_equals_and_hash, 20, :default => false
204
+ optional :bool, :java_string_check_utf8, 27, :default => false
205
+ optional ::Google::Protobuf::FileOptions::OptimizeMode, :optimize_for, 9, :default => ::Google::Protobuf::FileOptions::OptimizeMode::SPEED
206
+ optional :string, :go_package, 11
207
+ optional :bool, :cc_generic_services, 16, :default => false
208
+ optional :bool, :java_generic_services, 17, :default => false
209
+ optional :bool, :py_generic_services, 18, :default => false
210
+ optional :bool, :deprecated, 23, :default => false
211
+ optional :bool, :cc_enable_arenas, 31, :default => false
212
+ optional :string, :objc_class_prefix, 36
213
+ optional :string, :csharp_namespace, 37
214
+ optional :bool, :javanano_use_deprecated_package, 38
215
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
216
+ # Extension Fields
217
+ extensions 1000...536870912
218
+ end
219
+
220
+ class MessageOptions
221
+ optional :bool, :message_set_wire_format, 1, :default => false
222
+ optional :bool, :no_standard_descriptor_accessor, 2, :default => false
223
+ optional :bool, :deprecated, 3, :default => false
224
+ optional :bool, :map_entry, 7
225
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
226
+ # Extension Fields
227
+ extensions 1000...536870912
228
+ end
229
+
230
+ class FieldOptions
231
+ optional ::Google::Protobuf::FieldOptions::CType, :ctype, 1, :default => ::Google::Protobuf::FieldOptions::CType::STRING
232
+ optional :bool, :packed, 2
233
+ optional ::Google::Protobuf::FieldOptions::JSType, :jstype, 6, :default => ::Google::Protobuf::FieldOptions::JSType::JS_NORMAL
234
+ optional :bool, :lazy, 5, :default => false
235
+ optional :bool, :deprecated, 3, :default => false
236
+ optional :bool, :weak, 10, :default => false
237
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
238
+ # Extension Fields
239
+ extensions 1000...536870912
240
+ end
241
+
242
+ class EnumOptions
243
+ optional :bool, :allow_alias, 2
244
+ optional :bool, :deprecated, 3, :default => false
245
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
246
+ # Extension Fields
247
+ extensions 1000...536870912
248
+ end
249
+
250
+ class EnumValueOptions
251
+ optional :bool, :deprecated, 1, :default => false
252
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
253
+ # Extension Fields
254
+ extensions 1000...536870912
255
+ end
256
+
257
+ class ServiceOptions
258
+ optional :bool, :deprecated, 33, :default => false
259
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
260
+ # Extension Fields
261
+ extensions 1000...536870912
262
+ end
263
+
264
+ class MethodOptions
265
+ optional :bool, :deprecated, 33, :default => false
266
+ repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
267
+ # Extension Fields
268
+ extensions 1000...536870912
269
+ end
270
+
271
+ class UninterpretedOption
272
+ class NamePart
273
+ required :string, :name_part, 1
274
+ required :bool, :is_extension, 2
275
+ end
276
+
277
+ repeated ::Google::Protobuf::UninterpretedOption::NamePart, :name, 2
278
+ optional :string, :identifier_value, 3
279
+ optional :uint64, :positive_int_value, 4
280
+ optional :int64, :negative_int_value, 5
281
+ optional :double, :double_value, 6
282
+ optional :bytes, :string_value, 7
283
+ optional :string, :aggregate_value, 8
284
+ end
285
+
286
+ class SourceCodeInfo
287
+ class Location
288
+ repeated :int32, :path, 1, :packed => true
289
+ repeated :int32, :span, 2, :packed => true
290
+ optional :string, :leading_comments, 3
291
+ optional :string, :trailing_comments, 4
292
+ repeated :string, :leading_detached_comments, 6
293
+ end
294
+
295
+ repeated ::Google::Protobuf::SourceCodeInfo::Location, :location, 1
296
+ end
297
+
298
+ end
299
+
300
+ end
301
+