Class: Object
- Inherits:
- BasicObject
- Defined in:
- (unknown)
Instance Method Summary collapse
-
#to_plist(format = :xml1) ⇒ Object
Converts the object to a property list representation and returns it as a string.
Instance Method Details
#to_plist(format = :xml1) ⇒ Object
Converts the object to a property list representation and returns it as a string.
format
can be one of :xml1
or :binary1
.
370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 |
# File 'ext/plist/plist.c', line 370
VALUE obj_to_plist(int argc, VALUE *argv, VALUE self) {
VALUE type;
int count = rb_scan_args(argc, argv, "01", &type);
if (count < 1) {
type = id_xml;
} else {
type = rb_to_id(type);
}
CFPropertyListFormat format;
if (type == id_xml) {
format = kCFPropertyListXMLFormat_v1_0;
} else if (type == id_binary) {
format = kCFPropertyListBinaryFormat_v1_0;
} else if (type == id_openstep) {
format = kCFPropertyListOpenStepFormat;
} else {
rb_raise(rb_eArgError, "Argument 2 must be one of :xml1, :binary1, or :openstep");
return Qnil;
}
CFPropertyListRef plist = convertObject(self);
VALUE data = convertPlistToString(plist, format);
CFRelease(plist);
if (type == id_xml || type == id_binary) {
str_setBlob(data, Qfalse);
}
return data;
}
|