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