This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# Encoding::Converter.primitive_convert (from ruby core) ### Implementation from Converter --- ec.primitive_convert(source_buffer, destination_buffer) -> symbol ec.primitive_convert(source_buffer, destination_buffer, destination_byteoffset) -> symbol ec.primitive_convert(source_buffer, destination_buffer, destination_byteoffset, destination_bytesize) -> symbol ec.primitive_convert(source_buffer, destination_buffer, destination_byteoffset, destination_bytesize, opt) -> symbol --- possible opt elements: hash form: :partial_input => true # source buffer may be part of larger source :after_output => true # stop conversion after output before input integer form: Encoding::Converter::PARTIAL_INPUT Encoding::Converter::AFTER_OUTPUT possible results: :invalid_byte_sequence :incomplete_input :undefined_conversion :after_output :destination_buffer_full :source_buffer_empty :finished primitive_convert converts source_buffer into destination_buffer. source_buffer should be a string or nil. nil means an empty string. destination_buffer should be a string. destination_byteoffset should be an integer or nil. nil means the end of destination_buffer. If it is omitted, nil is assumed. destination_bytesize should be an integer or nil. nil means unlimited. If it is omitted, nil is assumed. opt should be nil, a hash or an integer. nil means no flags. If it is omitted, nil is assumed. primitive_convert converts the content of source_buffer from beginning and store the result into destination_buffer. destination_byteoffset and destination_bytesize specify the region which the converted result is stored. destination_byteoffset specifies the start position in destination_buffer in bytes. If destination_byteoffset is nil, destination_buffer.bytesize is used for appending the result. destination_bytesize specifies maximum number of bytes. If destination_bytesize is nil, destination size is unlimited. After conversion, destination_buffer is resized to destination_byteoffset + actually produced number of bytes. Also destination_buffer's encoding is set to destination_encoding. primitive_convert drops the converted part of source_buffer. the dropped part is converted in destination_buffer or buffered in Encoding::Converter object. primitive_convert stops conversion when one of following condition met. * invalid byte sequence found in source buffer (:invalid_byte_sequence) `primitive_errinfo` and `last_error` methods returns the detail of the error. * unexpected end of source buffer (:incomplete_input) this occur only when :partial_input is not specified. `primitive_errinfo` and `last_error` methods returns the detail of the error. * character not representable in output encoding (:undefined_conversion) `primitive_errinfo` and `last_error` methods returns the detail of the error. * after some output is generated, before input is done (:after_output) this occur only when :after_output is specified. * destination buffer is full (:destination_buffer_full) this occur only when destination_bytesize is non-nil. * source buffer is empty (:source_buffer_empty) this occur only when :partial_input is specified. * conversion is finished (:finished) example: ec = Encoding::Converter.new("UTF-8", "UTF-16BE") ret = ec.primitive_convert(src="pi", dst="", nil, 100) p [ret, src, dst] #=> [:finished, "", "\x00p\x00i"] ec = Encoding::Converter.new("UTF-8", "UTF-16BE") ret = ec.primitive_convert(src="pi", dst="", nil, 1) p [ret, src, dst] #=> [:destination_buffer_full, "i", "\x00"] ret = ec.primitive_convert(src, dst="", nil, 1) p [ret, src, dst] #=> [:destination_buffer_full, "", "p"] ret = ec.primitive_convert(src, dst="", nil, 1) p [ret, src, dst] #=> [:destination_buffer_full, "", "\x00"] ret = ec.primitive_convert(src, dst="", nil, 1) p [ret, src, dst] #=> [:finished, "", "i"]
This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.