class Array

Public Instance Methods

ffi_yajl(p1, p2) click to toggle source
static VALUE rb_cArray_ffi_yajl(VALUE self, VALUE rb_yajl_gen, VALUE state) {
  yajl_gen_status status;
  ID sym_ffi_yajl = rb_intern("ffi_yajl");
  long i;
  VALUE val;
  struct yajl_gen_t *yajl_gen;
  Data_Get_Struct(rb_yajl_gen, struct yajl_gen_t, yajl_gen);

  CHECK_STATUS(
    yajl_gen_array_open(yajl_gen)
  );
  for(i=0; i<RARRAY_LEN(self); i++) {
    val = rb_ary_entry(self, i);
    rb_funcall(val, sym_ffi_yajl, 2, rb_yajl_gen, state);
  }
  CHECK_STATUS(
    yajl_gen_array_close(yajl_gen)
  );

  return Qnil;
}
to_json(*opts, &block) click to toggle source
# File lib/ffi_yajl/json_gem.rb, line 57
def to_json(*opts, &block)
  FFI_Yajl::Encoder.encode(self)
end