summaryrefslogtreecommitdiffstats
path: root/bindings
diff options
context:
space:
mode:
authorFelipe Contreras <felipe.contreras@gmail.com>2021-05-01 07:04:46 -0500
committerDavid Bremner <david@tethera.net>2021-05-23 09:05:33 -0300
commit85ae2bcf56021a22a803fbde34baa5050bbb28d9 (patch)
tree19b0296e512c9d7a728d5b59f58736aec2ff9667 /bindings
parentf44c83c083faa152043d70bfcb9f70b4825022f2 (diff)
ruby: use notmuch_exclude_t enum
It exists since 2013, let's allow it to be used in Ruby. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Diffstat (limited to 'bindings')
-rw-r--r--bindings/ruby/init.c24
-rw-r--r--bindings/ruby/query.c8
2 files changed, 29 insertions, 3 deletions
diff --git a/bindings/ruby/init.c b/bindings/ruby/init.c
index 62515eca..bedfbf60 100644
--- a/bindings/ruby/init.c
+++ b/bindings/ruby/init.c
@@ -154,6 +154,30 @@ Init_notmuch (void)
* Maximum allowed length of a tag
*/
rb_define_const (mod, "TAG_MAX", INT2FIX (NOTMUCH_TAG_MAX));
+ /*
+ * Document-const: Notmuch::EXCLUDE_FLAG
+ *
+ * Only flag excluded results
+ */
+ rb_define_const (mod, "EXCLUDE_FLAG", INT2FIX (NOTMUCH_EXCLUDE_FLAG));
+ /*
+ * Document-const: Notmuch::EXCLUDE_TRUE
+ *
+ * Exclude messages from the results
+ */
+ rb_define_const (mod, "EXCLUDE_TRUE", INT2FIX (NOTMUCH_EXCLUDE_TRUE));
+ /*
+ * Document-const: Notmuch::EXCLUDE_FALSE
+ *
+ * Don't exclude anything
+ */
+ rb_define_const (mod, "EXCLUDE_FALSE", INT2FIX (NOTMUCH_EXCLUDE_FALSE));
+ /*
+ * Document-const: Notmuch::EXCLUDE_ALL
+ *
+ * Exclude all results
+ */
+ rb_define_const (mod, "EXCLUDE_ALL", INT2FIX (NOTMUCH_EXCLUDE_ALL));
/*
* Document-class: Notmuch::BaseError
diff --git a/bindings/ruby/query.c b/bindings/ruby/query.c
index 3ec98c6c..8a2b4d3d 100644
--- a/bindings/ruby/query.c
+++ b/bindings/ruby/query.c
@@ -102,19 +102,21 @@ notmuch_rb_query_add_tag_exclude (VALUE self, VALUE tagv)
}
/*
- * call-seq: QUERY.omit_excluded=(boolean) => nil
+ * call-seq: QUERY.omit_excluded=(fixnum) => nil
*
* Specify whether to omit excluded results or simply flag them.
- * By default, this is set to +true+.
+ * By default, this is set to +Notmuch::EXCLUDE_TRUE+.
*/
VALUE
notmuch_rb_query_set_omit_excluded (VALUE self, VALUE omitv)
{
notmuch_query_t *query;
+ notmuch_exclude_t value;
Data_Get_Notmuch_Query (self, query);
- notmuch_query_set_omit_excluded (query, RTEST (omitv));
+ value = FIXNUM_P (omitv) ? FIX2UINT (omitv) : RTEST(omitv);
+ notmuch_query_set_omit_excluded (query, value);
return Qnil;
}