class Google::Protobuf::Internal::Builder
Public Class Methods
new(pool)
click to toggle source
# File lib/google/protobuf/descriptor_dsl.rb, line 35 def initialize(pool) @pool = pool @default_file = nil # Constructed lazily end
Public Instance Methods
add_enum(name, &block)
click to toggle source
# File lib/google/protobuf/descriptor_dsl.rb, line 50 def add_enum(name, &block) internal_default_file.add_enum(name, &block) end
add_file(name, options={}, &block)
click to toggle source
# File lib/google/protobuf/descriptor_dsl.rb, line 40 def add_file(name, options={}, &block) builder = FileBuilder.new(@pool, name, options) builder.instance_eval(&block) internal_add_file(builder) end
add_message(name, &block)
click to toggle source
# File lib/google/protobuf/descriptor_dsl.rb, line 46 def add_message(name, &block) internal_default_file.add_message(name, &block) end
build()
click to toggle source
—- Internal
methods, not part of the DSL —-
# File lib/google/protobuf/descriptor_dsl.rb, line 56 def build if @default_file internal_add_file(@default_file) end end
Private Instance Methods
internal_add_file(file_builder)
click to toggle source
# File lib/google/protobuf/descriptor_dsl.rb, line 62 def internal_add_file(file_builder) proto = file_builder.build serialized = Google::Protobuf::FileDescriptorProto.encode(proto) @pool.add_serialized_file(serialized) end
internal_default_file()
click to toggle source
# File lib/google/protobuf/descriptor_dsl.rb, line 68 def internal_default_file number = @@file_number.get_and_increment filename = "ruby_default_file#{number}.proto" @default_file ||= FileBuilder.new(@pool, filename) end