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
[email protected]
http://notmuchmail.org/mailman/listinfo/notmuch

Attachment: pgpSmnsIHt21j.pgp
Description: PGP signature

_______________________________________________
notmuch mailing list
[email protected]
http://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to