[PATCH 6/6] ruby: Add bindings for notmuch_thread_get_messages

Ali Polatel polatel at gmail.com
Mon Nov 26 08:23:16 PST 2012


LGTM. Thanks for showing love to the ruby bindings as I was away.

On Sat, Nov 24, 2012 at 11:57:07PM -0500, Austin Clements wrote:
>---
> bindings/ruby/defs.h   |    3 +++
> bindings/ruby/init.c   |    1 +
> bindings/ruby/thread.c |   20 ++++++++++++++++++++
> 3 files changed, 24 insertions(+)
>
>diff --git a/bindings/ruby/defs.h b/bindings/ruby/defs.h
>index fe81b3f..5b44585 100644
>--- a/bindings/ruby/defs.h
>+++ b/bindings/ruby/defs.h
>@@ -262,6 +262,9 @@ VALUE
> notmuch_rb_thread_get_toplevel_messages (VALUE self);
>
> VALUE
>+notmuch_rb_thread_get_messages (VALUE self);
>+
>+VALUE
> notmuch_rb_thread_get_matched_messages (VALUE self);
>
> VALUE
>diff --git a/bindings/ruby/init.c b/bindings/ruby/init.c
>index f4931d3..663271d 100644
>--- a/bindings/ruby/init.c
>+++ b/bindings/ruby/init.c
>@@ -306,6 +306,7 @@ Init_notmuch (void)
>     rb_define_method (notmuch_rb_cThread, "thread_id", notmuch_rb_thread_get_thread_id, 0); /* in thread.c */
>     rb_define_method (notmuch_rb_cThread, "total_messages", notmuch_rb_thread_get_total_messages, 0); /* in thread.c */
>     rb_define_method (notmuch_rb_cThread, "toplevel_messages", notmuch_rb_thread_get_toplevel_messages, 0); /* in thread.c */
>+    rb_define_method (notmuch_rb_cThread, "messages", notmuch_rb_thread_get_messages, 0); /* in thread.c */
>     rb_define_method (notmuch_rb_cThread, "matched_messages", notmuch_rb_thread_get_matched_messages, 0); /* in thread.c */
>     rb_define_method (notmuch_rb_cThread, "authors", notmuch_rb_thread_get_authors, 0); /* in thread.c */
>     rb_define_method (notmuch_rb_cThread, "subject", notmuch_rb_thread_get_subject, 0); /* in thread.c */
>diff --git a/bindings/ruby/thread.c b/bindings/ruby/thread.c
>index efe5aaf..56616d9 100644
>--- a/bindings/ruby/thread.c
>+++ b/bindings/ruby/thread.c
>@@ -92,6 +92,26 @@ notmuch_rb_thread_get_toplevel_messages (VALUE self)
> }
>
> /*
>+ * call-seq: THREAD.messages => MESSAGES
>+ *
>+ * Get a Notmuch::Messages iterator for the all messages in thread.
>+ */
>+VALUE
>+notmuch_rb_thread_get_messages (VALUE self)
>+{
>+    notmuch_messages_t *messages;
>+    notmuch_thread_t *thread;
>+
>+    Data_Get_Notmuch_Thread (self, thread);
>+
>+    messages = notmuch_thread_get_messages (thread);
>+    if (!messages)
>+	rb_raise (notmuch_rb_eMemoryError, "Out of memory");
>+
>+    return Data_Wrap_Struct (notmuch_rb_cMessages, NULL, NULL, messages);
>+}
>+
>+/*
>  * call-seq: THREAD.matched_messages => fixnum
>  *
>  * Get the number of messages in thread that matched the search
>-- 
>1.7.10.4
>
>_______________________________________________
>notmuch mailing list
>notmuch at notmuchmail.org
>http://notmuchmail.org/mailman/listinfo/notmuch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20121126/1cba9632/attachment.pgp>


More information about the notmuch mailing list