From ed38940323ba80d0136688405cbd923fa088d706 Mon Sep 17 00:00:00 2001 From: Ali Polatel Date: Mon, 10 Jan 2011 15:59:18 +0200 Subject: [PATCH] ruby: Add wrappers for query_get_s{ort,tring} New wrappers: notmuch_query_get_sort(): QUERY.sort notmuch_query_get_query_string(): QUERY.to_s --- bindings/ruby/defs.h | 6 ++++++ bindings/ruby/init.c | 2 ++ bindings/ruby/query.c | 30 ++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/bindings/ruby/defs.h b/bindings/ruby/defs.h index b1be5a30..db530968 100644 --- a/bindings/ruby/defs.h +++ b/bindings/ruby/defs.h @@ -189,9 +189,15 @@ notmuch_rb_filenames_each(VALUE self); VALUE notmuch_rb_query_destroy(VALUE self); +VALUE +notmuch_rb_query_get_sort(VALUE self); + VALUE notmuch_rb_query_set_sort(VALUE self, VALUE sortv); +VALUE +notmuch_rb_query_get_string(VALUE self); + VALUE notmuch_rb_query_search_threads(VALUE self); diff --git a/bindings/ruby/init.c b/bindings/ruby/init.c index e19b0356..63ab205e 100644 --- a/bindings/ruby/init.c +++ b/bindings/ruby/init.c @@ -224,7 +224,9 @@ Init_notmuch(void) notmuch_rb_cQuery = rb_define_class_under(mod, "Query", rb_cData); rb_undef_method(notmuch_rb_cQuery, "initialize"); rb_define_method(notmuch_rb_cQuery, "destroy", notmuch_rb_query_destroy, 0); + rb_define_method(notmuch_rb_cQuery, "sort", notmuch_rb_query_get_sort, 0); rb_define_method(notmuch_rb_cQuery, "sort=", notmuch_rb_query_set_sort, 1); + rb_define_method(notmuch_rb_cQuery, "to_s", notmuch_rb_query_get_string, 0); rb_define_method(notmuch_rb_cQuery, "search_threads", notmuch_rb_query_search_threads, 0); rb_define_method(notmuch_rb_cQuery, "search_messages", notmuch_rb_query_search_messages, 0); diff --git a/bindings/ruby/query.c b/bindings/ruby/query.c index c5b8a4cc..ef9e1a07 100644 --- a/bindings/ruby/query.c +++ b/bindings/ruby/query.c @@ -38,6 +38,21 @@ notmuch_rb_query_destroy(VALUE self) 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 * @@ -58,6 +73,21 @@ notmuch_rb_query_set_sort(VALUE self, VALUE 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 * -- 2.26.2