Class: Wiretap::NodeChildren

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/wiretap.rb,
ext/nodechildren.cpp

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#nodeObject (readonly)

Returns the value of attribute node.



248
249
250
# File 'lib/wiretap.rb', line 248

def node
  @node
end

Instance Method Details

#[](index) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'ext/nodechildren.cpp', line 16

static VALUE wiretap_node_children_get_at(VALUE self, VALUE index) {
	WireTapNodeHandle* node;
	Check_Type(index, T_FIXNUM);
	
	Data_Get_Struct(self, WireTapNodeHandle, node);
	
	WireTapNodeHandle child;
	RUN(node->getChild(FIX2INT(index), child));
	
	return wiretap_node_create_with(child, rb_iv_get(self, "@server"), rb_iv_get(self, "@node"));
}

#countObject Also known as: size, length



8
9
10
11
12
13
14
# File 'ext/nodechildren.cpp', line 8

static VALUE wiretap_node_children_count(VALUE self) {
	WireTapNodeHandle* node;
	int num;
	Data_Get_Struct(self, WireTapNodeHandle, node);
	RUN(node->getNumChildren(num));
	return INT2FIX(num);
}

#eachObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'ext/nodechildren.cpp', line 28

static VALUE wiretap_node_children_each(VALUE self) {
	WireTapNodeHandle* node;
	int i, num;
	Data_Get_Struct(self, WireTapNodeHandle, node);
	RUN(node->getNumChildren(num));
	VALUE server = rb_iv_get(self, "@server");
	VALUE parent = rb_iv_get(self, "@node");

	for(i = 0; i < num; i++) {
		WireTapNodeHandle child;
		RUN(node->getChild(i, child));
		rb_yield(wiretap_node_create_with(child, server, parent));
	}
	return self;
}