Author: marvin
Date: Tue Mar 13 23:38:33 2012
New Revision: 1300413
URL: http://svn.apache.org/viewvc?rev=1300413&view=rev
Log:
Refactor CFC Ruby binding for scale.
We're going to bind a fair number of classes within Clownfish::CFC, so break
out initialization of those classes into separate functions.
Modified:
incubator/lucy/trunk/clownfish/ruby/ext/Clownfish/CFC.c
Modified: incubator/lucy/trunk/clownfish/ruby/ext/Clownfish/CFC.c
URL:
http://svn.apache.org/viewvc/incubator/lucy/trunk/clownfish/ruby/ext/Clownfish/CFC.c?rev=1300413&r1=1300412&r2=1300413&view=diff
==============================================================================
--- incubator/lucy/trunk/clownfish/ruby/ext/Clownfish/CFC.c (original)
+++ incubator/lucy/trunk/clownfish/ruby/ext/Clownfish/CFC.c Tue Mar 13 23:38:33
2012
@@ -52,6 +52,15 @@ static VALUE S_CFC_Binding_Core_Write_Al
return Qnil;
}
+static void
+S_init_Binding_Core(void) {
+ cBindCore = rb_define_class_under(mBinding, "Core", rb_cObject);
+ rb_define_alloc_func(cBindCore, S_CFC_Binding_Core_Alloc);
+ rb_define_method(cBindCore, "initialize", S_CFC_Binding_Core_Init, 4);
+ rb_define_method(cBindCore, "write_all_modified",
+ S_CFC_Binding_Core_Write_All_Modified, -1);
+}
+
static VALUE S_CFC_Hierarchy_Alloc(VALUE klass) {
void *ptr = NULL;
return Data_Wrap_Struct(klass, NULL, NULL, ptr);
@@ -77,19 +86,19 @@ static VALUE S_CFC_Hierarchy_Build(VALUE
return Qnil;
}
-void Init_CFC() {
- mClownfish = rb_define_module("Clownfish");
- mCFC = rb_define_module_under(mClownfish, "CFC");
- mBinding = rb_define_module_under(mCFC, "Binding");
- cHierarchy = rb_define_class_under(mCFC, "Hierarchy", rb_cObject);
- cBindCore = rb_define_class_under(mBinding, "Core", rb_cObject);
-
+static void
+S_init_Hierarchy(void) {
+ cHierarchy = rb_define_class_under(mCFC, "Hierarchy", rb_cObject);
rb_define_alloc_func(cHierarchy, S_CFC_Hierarchy_Alloc);
rb_define_method(cHierarchy, "initialize", S_CFC_Hierarchy_Init, 2);
rb_define_method(cHierarchy, "build", S_CFC_Hierarchy_Build, 0);
+}
- rb_define_alloc_func(cBindCore, S_CFC_Binding_Core_Alloc);
- rb_define_method(cBindCore, "initialize", S_CFC_Binding_Core_Init, 4);
- rb_define_method(cBindCore, "write_all_modified",
S_CFC_Binding_Core_Write_All_Modified, -1);
+void Init_CFC() {
+ mClownfish = rb_define_module("Clownfish");
+ mCFC = rb_define_module_under(mClownfish, "CFC");
+ mBinding = rb_define_module_under(mCFC, "Binding");
+ S_init_Binding_Core();
+ S_init_Hierarchy();
}