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.



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# File 'ext/pack.c', line 169

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;
}