--- 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