aboutsummaryrefslogtreecommitdiffhomepage
path: root/bindings/ruby
diff options
context:
space:
mode:
authorGravatar Ali Polatel <alip@exherbo.org>2012-05-07 18:02:46 +0300
committerGravatar David Bremner <bremner@debian.org>2012-05-08 10:34:50 -0300
commita8e010962f257aaba0218392542cbfb1d14eddfd (patch)
tree48113073a2b43b6c31fa9c101bceff05d935206d /bindings/ruby
parent82b73ffd7380b85d259eeb91100dd6ac2d14223a (diff)
ruby: Add wrapper for notmuch_query_set_omit_excluded()
Diffstat (limited to 'bindings/ruby')
-rw-r--r--bindings/ruby/defs.h3
-rw-r--r--bindings/ruby/init.c7
-rw-r--r--bindings/ruby/query.c18
3 files changed, 28 insertions, 0 deletions
diff --git a/bindings/ruby/defs.h b/bindings/ruby/defs.h
index 6fe57870..85d8205e 100644
--- a/bindings/ruby/defs.h
+++ b/bindings/ruby/defs.h
@@ -220,6 +220,9 @@ VALUE
notmuch_rb_query_add_tag_exclude (VALUE self, VALUE tagv);
VALUE
+notmuch_rb_query_set_omit_excluded (VALUE self, VALUE omitv);
+
+VALUE
notmuch_rb_query_search_threads (VALUE self);
VALUE
diff --git a/bindings/ruby/init.c b/bindings/ruby/init.c
index edcf101c..3fe60fb7 100644
--- a/bindings/ruby/init.c
+++ b/bindings/ruby/init.c
@@ -96,6 +96,12 @@ Init_notmuch (void)
*/
rb_define_const (mod, "MESSAGE_FLAG_MATCH", INT2FIX (NOTMUCH_MESSAGE_FLAG_MATCH));
/*
+ * Document-const: Notmuch::MESSAGE_FLAG_EXCLUDED
+ *
+ * Message flag "excluded"
+ */
+ rb_define_const (mod, "MESSAGE_FLAG_EXCLUDED", INT2FIX (NOTMUCH_MESSAGE_FLAG_EXCLUDED));
+ /*
* Document-const: Notmuch::TAG_MAX
*
* Maximum allowed length of a tag
@@ -235,6 +241,7 @@ Init_notmuch (void)
rb_define_method (notmuch_rb_cQuery, "sort=", notmuch_rb_query_set_sort, 1); /* in query.c */
rb_define_method (notmuch_rb_cQuery, "to_s", notmuch_rb_query_get_string, 0); /* in query.c */
rb_define_method (notmuch_rb_cQuery, "add_tag_exclude", notmuch_rb_query_add_tag_exclude, 1); /* in query.c */
+ rb_define_method (notmuch_rb_cQuery, "omit_excluded=", notmuch_rb_query_set_omit_excluded, 1); /* in query.c */
rb_define_method (notmuch_rb_cQuery, "search_threads", notmuch_rb_query_search_threads, 0); /* in query.c */
rb_define_method (notmuch_rb_cQuery, "search_messages", notmuch_rb_query_search_messages, 0); /* in query.c */
rb_define_method (notmuch_rb_cQuery, "count_messages", notmuch_rb_query_count_messages, 0); /* in query.c */
diff --git a/bindings/ruby/query.c b/bindings/ruby/query.c
index 2a800080..e5ba1b7a 100644
--- a/bindings/ruby/query.c
+++ b/bindings/ruby/query.c
@@ -107,6 +107,24 @@ notmuch_rb_query_add_tag_exclude (VALUE self, VALUE tagv)
}
/*
+ * call-seq: QUERY.omit_excluded=(boolean) => nil
+ *
+ * Specify whether to omit excluded results or simply flag them.
+ * By default, this is set to +true+.
+ */
+VALUE
+notmuch_rb_query_set_omit_excluded (VALUE self, VALUE omitv)
+{
+ notmuch_query_t *query;
+
+ Data_Get_Notmuch_Query (self, query);
+
+ notmuch_query_set_omit_excluded (query, RTEST (omitv));
+
+ return Qnil;
+}
+
+/*
* call-seq: QUERY.search_threads => THREADS
*
* Search for threads