about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2017-03-01 02:34:24 +0000
committerEric Wong <e@80x24.org>2017-03-01 02:41:58 +0000
commita442f2300df950ba410134787168af271c7abfb1 (patch)
treeba9fe7c536b1292d06641683b2cef42f9cce6e99
parent6f73bb5cf0919c669aa4432626a5e12ec4ddab6b (diff)
downloadraindrops-a442f2300df950ba410134787168af271c7abfb1.tar.gz
Defining the "Raindrops" class explicitly helps RDoc find
subclasses for documentation, and ought to reduce the binary
size slightly due to the removal of rb_intern calls.

Furthermore, use "Socket" to ensure the base class for
Raindrops::InetDiagSocket is documented properly in RDoc.
-rw-r--r--ext/raindrops/linux_inet_diag.c7
-rw-r--r--ext/raindrops/linux_tcp_info.c2
2 files changed, 5 insertions, 4 deletions
diff --git a/ext/raindrops/linux_inet_diag.c b/ext/raindrops/linux_inet_diag.c
index 5276a28..8ad436b 100644
--- a/ext/raindrops/linux_inet_diag.c
+++ b/ext/raindrops/linux_inet_diag.c
@@ -709,11 +709,12 @@ static VALUE tcp_listener_stats(int argc, VALUE *argv, VALUE self)
 
 void Init_raindrops_linux_inet_diag(void)
 {
-        VALUE cRaindrops = rb_const_get(rb_cObject, rb_intern("Raindrops"));
+        VALUE cRaindrops = rb_define_class("Raindrops", rb_cObject);
         VALUE mLinux = rb_define_module_under(cRaindrops, "Linux");
+        VALUE Socket;
 
         rb_require("socket");
-        cIDSock = rb_const_get(rb_cObject, rb_intern("Socket"));
+        Socket = rb_const_get(rb_cObject, rb_intern("Socket"));
         id_new = rb_intern("new");
 
         /*
@@ -722,7 +723,7 @@ void Init_raindrops_linux_inet_diag(void)
          * This is a subclass of +Socket+ specifically for talking
          * to the inet_diag facility of Netlink.
          */
-        cIDSock = rb_define_class_under(cRaindrops, "InetDiagSocket", cIDSock);
+        cIDSock = rb_define_class_under(cRaindrops, "InetDiagSocket", Socket);
         rb_define_singleton_method(cIDSock, "new", ids_s_new, 0);
 
         cListenStats = rb_const_get(cRaindrops, rb_intern("ListenStats"));
diff --git a/ext/raindrops/linux_tcp_info.c b/ext/raindrops/linux_tcp_info.c
index 8a06f88..eebca94 100644
--- a/ext/raindrops/linux_tcp_info.c
+++ b/ext/raindrops/linux_tcp_info.c
@@ -77,7 +77,7 @@ static VALUE init(VALUE self, VALUE io)
 
 void Init_raindrops_linux_tcp_info(void)
 {
-        VALUE cRaindrops = rb_const_get(rb_cObject, rb_intern("Raindrops"));
+        VALUE cRaindrops = rb_define_class("Raindrops", rb_cObject);
         VALUE cTCP_Info;
 
         /*