]> git.notmuchmail.org Git - notmuch/blobdiff - bindings/ruby/query.c
ruby: Rename destroy to destroy!
[notmuch] / bindings / ruby / query.c
index 5140c0083b25c0becbc85223ef568117fc5e5fdc..6a70f192bbd06de0a2206fd7af64afee4b444642 100644 (file)
@@ -21,7 +21,7 @@
 #include "defs.h"
 
 /*
- * call-seq: QUERY.destroy => nil
+ * call-seq: QUERY.destroy! => nil
  *
  * Destroys the query, freeing all resources allocated for it.
  */
@@ -30,13 +30,29 @@ notmuch_rb_query_destroy(VALUE self)
 {
     notmuch_query_t *query;
 
-    Data_Get_Struct(self, notmuch_query_t, query);
+    Data_Get_Notmuch_Query(self, query);
 
     notmuch_query_destroy(query);
+    DATA_PTR(self) = NULL;
 
     return Qnil;
 }
 
+/*
+ * call-seq: QUERY.sort => fixnum
+ *
+ * Get sort type of the +QUERY+
+ */
+VALUE
+notmuch_rb_query_get_sort(VALUE self)
+{
+    notmuch_query_t *query;
+
+    Data_Get_Notmuch_Query(self, query);
+
+    return FIX2INT(notmuch_query_get_sort(query));
+}
+
 /*
  * call-seq: QUERY.sort=(fixnum) => nil
  *
@@ -47,16 +63,31 @@ notmuch_rb_query_set_sort(VALUE self, VALUE sortv)
 {
     notmuch_query_t *query;
 
-    Data_Get_Struct(self, notmuch_query_t, query);
+    Data_Get_Notmuch_Query(self, query);
 
     if (!FIXNUM_P(sortv))
-        rb_raise(rb_eTypeError, "Not a fixnum");
+        rb_raise(rb_eTypeError, "Not a Fixnum");
 
     notmuch_query_set_sort(query, FIX2UINT(sortv));
 
     return Qnil;
 }
 
+/*
+ * call-seq: QUERY.to_s => string
+ *
+ * Get query string of the +QUERY+
+ */
+VALUE
+notmuch_rb_query_get_string(VALUE self)
+{
+    notmuch_query_t *query;
+
+    Data_Get_Notmuch_Query(self, query);
+
+    return rb_str_new2(notmuch_query_get_query_string(query));
+}
+
 /*
  * call-seq: QUERY.search_threads => THREADS
  *
@@ -68,7 +99,7 @@ notmuch_rb_query_search_threads(VALUE self)
     notmuch_query_t *query;
     notmuch_threads_t *threads;
 
-    Data_Get_Struct(self, notmuch_query_t, query);
+    Data_Get_Notmuch_Query(self, query);
 
     threads = notmuch_query_search_threads(query);
     if (!threads)
@@ -88,7 +119,7 @@ notmuch_rb_query_search_messages(VALUE self)
     notmuch_query_t *query;
     notmuch_messages_t *messages;
 
-    Data_Get_Struct(self, notmuch_query_t, query);
+    Data_Get_Notmuch_Query(self, query);
 
     messages = notmuch_query_search_messages(query);
     if (!messages)