class Google::Protobuf::FileDescriptor

Attributes

descriptor_pool[RW]

Public Class Methods

new(file_def, descriptor_pool) click to toggle source
# File lib/google/protobuf/ffi/file_descriptor.rb, line 20
def initialize(file_def, descriptor_pool)
  @descriptor_pool = descriptor_pool
  @file_def = file_def
end

Public Instance Methods

inspect() click to toggle source
# File lib/google/protobuf/ffi/file_descriptor.rb, line 29
def inspect
  "#{self.class.name}: #{name}"
end
name() click to toggle source
# File lib/google/protobuf/ffi/file_descriptor.rb, line 33
def name
  Google::Protobuf::FFI.file_def_name(@file_def)
end
options() click to toggle source
# File lib/google/protobuf/ffi/file_descriptor.rb, line 37
def options
  @options ||= begin
    size_ptr = ::FFI::MemoryPointer.new(:size_t, 1)
    temporary_arena = Google::Protobuf::FFI.create_arena
    buffer = Google::Protobuf::FFI.file_options(@file_def, size_ptr, temporary_arena)
    opts = Google::Protobuf::FileOptions.decode(buffer.read_string_length(size_ptr.read(:size_t)).force_encoding("ASCII-8BIT").freeze)
    opts.clear_features()
    opts.freeze
  end
end
to_s() click to toggle source
# File lib/google/protobuf/ffi/file_descriptor.rb, line 25
def to_s
  inspect
end