Sha256: 467ea69d9c49d2da22b3c42efc4e9d7e1314862ebbaa73bf875c92dcfaafa3ba

Contents?: true

Size: 465 Bytes

Versions: 7

Compression:

Stored size: 465 Bytes

Contents

#include "plain.h"

void plain_attributes_writer(VALUE obj, VALUE attributes,
                             EachAttributeFunc func, VALUE writer) {
  long i;
  for (i = 0; i < RARRAY_LEN(attributes); i++) {
    volatile VALUE raw_attribute = RARRAY_AREF(attributes, i);
    Attribute attribute = attribute_read(raw_attribute);
    volatile VALUE value = rb_funcall(obj, attribute->name_id, 0);

    func(writer, attr_name_for_serialization(attribute), value);
  }
}

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
panko_serializer-0.7.2 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.7.1 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.7.0 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.6.0 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.5.10 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.5.9 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.5.8 ext/panko_serializer/attributes_writer/plain.c