Class: RXerces::XML::NodeSet

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
ext/rxerces/rxerces.cpp

Instance Method Summary collapse

Instance Method Details

#[](index) ⇒ Object



521
522
523
524
525
526
# File 'ext/rxerces/rxerces.cpp', line 521

static VALUE nodeset_at(VALUE self, VALUE index) {
    NodeSetWrapper* wrapper;
    TypedData_Get_Struct(self, NodeSetWrapper, &nodeset_type, wrapper);

    return rb_ary_entry(wrapper->nodes_array, NUM2LONG(index));
}

#eachObject

nodeset.each



529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
# File 'ext/rxerces/rxerces.cpp', line 529

static VALUE nodeset_each(VALUE self) {
    NodeSetWrapper* wrapper;
    TypedData_Get_Struct(self, NodeSetWrapper, &nodeset_type, wrapper);

    if (!rb_block_given_p()) {
        return rb_funcall(wrapper->nodes_array, rb_intern("each"), 0);
    }

    long len = RARRAY_LEN(wrapper->nodes_array);
    for (long i = 0; i < len; i++) {
        rb_yield(rb_ary_entry(wrapper->nodes_array, i));
    }

    return self;
}

#lengthObject

nodeset.length / nodeset.size



513
514
515
516
517
518
# File 'ext/rxerces/rxerces.cpp', line 513

static VALUE nodeset_length(VALUE self) {
    NodeSetWrapper* wrapper;
    TypedData_Get_Struct(self, NodeSetWrapper, &nodeset_type, wrapper);

    return LONG2NUM(RARRAY_LEN(wrapper->nodes_array));
}

#sizeObject

nodeset.length / nodeset.size



513
514
515
516
517
518
# File 'ext/rxerces/rxerces.cpp', line 513

static VALUE nodeset_length(VALUE self) {
    NodeSetWrapper* wrapper;
    TypedData_Get_Struct(self, NodeSetWrapper, &nodeset_type, wrapper);

    return LONG2NUM(RARRAY_LEN(wrapper->nodes_array));
}

#to_aObject

nodeset.to_a



546
547
548
549
550
551
# File 'ext/rxerces/rxerces.cpp', line 546

static VALUE nodeset_to_a(VALUE self) {
    NodeSetWrapper* wrapper;
    TypedData_Get_Struct(self, NodeSetWrapper, &nodeset_type, wrapper);

    return rb_ary_dup(wrapper->nodes_array);
}