Class: String

Inherits:
Object
  • Object
show all
Defined in:
(unknown)

Instance Method Summary collapse

Instance Method Details

#to_msgpack(*args) ⇒ Object

call-seq:

string.to_msgpack(out = '') -> String

Serializes the String into raw bytes.



165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# File 'ext/pack.c', line 165

static VALUE MessagePack_String_to_msgpack(int argc, VALUE *argv, VALUE self)
{
	ARG_BUFFER(out, argc, argv);
#ifdef COMPAT_HAVE_ENCODING
	int enc = ENCODING_GET(self);
	if(enc != s_enc_utf8 && enc != s_enc_ascii8bit && enc != s_enc_usascii) {
		if(!ENC_CODERANGE_ASCIIONLY(self)) {
			self = rb_str_encode(self, s_enc_utf8_value, 0, Qnil);
		}
	}
#endif
	msgpack_pack_raw(out, RSTRING_LEN(self));
	msgpack_pack_raw_body(out, RSTRING_PTR(self), RSTRING_LEN(self));
	return out;
}