---
bindings/ruby/defs.h | 3 +++
bindings/ruby/init.c | 1 +
bindings/ruby/message.c | 18 ++++++++++++++++++
3 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/bindings/ruby/defs.h b/bindings/ruby/defs.h
index 1f52988..f00afef 100644
--- a/bindings/ruby/defs.h
+++ b/bindings/ruby/defs.h
@@ -269,6 +269,9 @@ VALUE
notmuch_rb_message_get_filename(VALUE self);
VALUE
+notmuch_rb_message_get_filenames(VALUE self);
+
+VALUE
notmuch_rb_message_get_flag(VALUE self, VALUE flagv);
VALUE
diff --git a/bindings/ruby/init.c b/bindings/ruby/init.c
index 4a63ba0..aa09c8d 100644
--- a/bindings/ruby/init.c
+++ b/bindings/ruby/init.c
@@ -263,6 +263,7 @@ Init_notmuch(void)
rb_define_method(notmuch_rb_cMessage, "thread_id",
notmuch_rb_message_get_thread_id, 0);
rb_define_method(notmuch_rb_cMessage, "replies",
notmuch_rb_message_get_replies, 0);
rb_define_method(notmuch_rb_cMessage, "filename",
notmuch_rb_message_get_filename, 0);
+ rb_define_method(notmuch_rb_cMessage, "filenames",
notmuch_rb_message_get_filenames, 0);
rb_define_method(notmuch_rb_cMessage, "get_flag",
notmuch_rb_message_get_flag, 1);
rb_define_method(notmuch_rb_cMessage, "set_flag",
notmuch_rb_message_set_flag, 2);
rb_define_method(notmuch_rb_cMessage, "date", notmuch_rb_message_get_date,
0);
diff --git a/bindings/ruby/message.c b/bindings/ruby/message.c
index 1b2c01e..49dbace 100644
--- a/bindings/ruby/message.c
+++ b/bindings/ruby/message.c
@@ -111,6 +111,24 @@ notmuch_rb_message_get_filename(VALUE self)
}
/*
+ * call-seq: MESSAGE.filanames => FILENAMES
+ *
+ * Get all filenames for the email corresponding to MESSAGE.
+ */
+VALUE
+notmuch_rb_message_get_filenames(VALUE self)
+{
+ notmuch_filenames_t *fnames;
+ notmuch_message_t *message;
+
+ Data_Get_Notmuch_Message(self, message);
+
+ fnames = notmuch_message_get_filenames(message);
+
+ return Data_Wrap_Struct(notmuch_rb_cFileNames, NULL, NULL, fnames);
+}
+
+/*
* call-seq: MESSAGE.get_flag(flag) => true or false
*
* Get a value of a flag for the email corresponding to 'message'
--
1.7.3.5