class OCI8

def get_tdo_by_class(klass)

Other tags:
    Private: -

Returns:
  • (OCI8::TDO) -

Parameters:
  • klass (class of an OCI8::Object::Base's subclass) --
def get_tdo_by_class(klass)
  @id_to_tdo ||= {}
  @name_to_tdo ||= {}
  tdo = @name_to_tdo[klass.typename]
  return tdo if tdo # found in the cache.
  metadata = describe_any(klass.typename)
  if metadata.is_a? OCI8::Metadata::Synonym
    metadata = describe_any(metadata.translated_name)
  end
  unless metadata.is_a? OCI8::Metadata::Type
    raise "unknown typename #{klass.typename}"
  end
  OCI8::TDO.new(self, metadata, klass)
end