diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2021-05-01 07:04:46 -0500 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2021-05-23 09:05:33 -0300 |
commit | 85ae2bcf56021a22a803fbde34baa5050bbb28d9 (patch) | |
tree | 19b0296e512c9d7a728d5b59f58736aec2ff9667 /bindings | |
parent | f44c83c083faa152043d70bfcb9f70b4825022f2 (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.c | 24 | ||||
-rw-r--r-- | bindings/ruby/query.c | 8 |
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; } |