Sha256: 3314b87b56ff8ef70030561469fce41b8c081353a6460fbe5581188ae86eed64

Contents?: true

Size: 543 Bytes

Versions: 14

Compression:

Stored size: 543 Bytes

Contents

#include "plain.h"

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

  return Qnil;
}

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
panko_serializer-0.5.5 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.5.4 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.5.3 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.5.2 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.5.1 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.5.0 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.4.4 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.4.3 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.4.2 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.4.0 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.3.9 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.3.7 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.3.6 ext/panko_serializer/attributes_writer/plain.c
panko_serializer-0.3.5 ext/panko_serializer/attributes_writer/plain.c