]> git.cworth.org Git - notmuch/blobdiff - bindings/ruby/init.c
ruby: fix ruby 3.1 warnings
[notmuch] / bindings / ruby / init.c
index edcf101c77ca6e5d99a3d358fd086d474d22cd2c..819fd1e35dc87a85945b57791149748910134ce3 100644 (file)
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see http://www.gnu.org/licenses/ .
+ * along with this program.  If not, see https://www.gnu.org/licenses/ .
  *
  * Author: Ali Polatel <alip@exherbo.org>
  */
 
 #include "defs.h"
 
+VALUE notmuch_rb_cDatabase;
+VALUE notmuch_rb_cDirectory;
+VALUE notmuch_rb_cFileNames;
+VALUE notmuch_rb_cQuery;
+VALUE notmuch_rb_cThreads;
+VALUE notmuch_rb_cThread;
+VALUE notmuch_rb_cMessages;
+VALUE notmuch_rb_cMessage;
+VALUE notmuch_rb_cTags;
+
+VALUE notmuch_rb_eBaseError;
+VALUE notmuch_rb_eDatabaseError;
+VALUE notmuch_rb_eMemoryError;
+VALUE notmuch_rb_eReadOnlyError;
+VALUE notmuch_rb_eXapianError;
+VALUE notmuch_rb_eFileError;
+VALUE notmuch_rb_eFileNotEmailError;
+VALUE notmuch_rb_eNullPointerError;
+VALUE notmuch_rb_eTagTooLongError;
+VALUE notmuch_rb_eUnbalancedFreezeThawError;
+VALUE notmuch_rb_eUnbalancedAtomicError;
+
+ID ID_call;
+ID ID_db_create;
+ID ID_db_mode;
+
 /*
  * Document-module: Notmuch
  *
@@ -95,6 +121,12 @@ Init_notmuch (void)
      * Message flag "match"
      */
     rb_define_const (mod, "MESSAGE_FLAG_MATCH", INT2FIX (NOTMUCH_MESSAGE_FLAG_MATCH));
+    /*
+     * Document-const: Notmuch::MESSAGE_FLAG_EXCLUDED
+     *
+     * Message flag "excluded"
+     */
+    rb_define_const (mod, "MESSAGE_FLAG_EXCLUDED", INT2FIX (NOTMUCH_MESSAGE_FLAG_EXCLUDED));
     /*
      * Document-const: Notmuch::TAG_MAX
      *
@@ -179,7 +211,7 @@ Init_notmuch (void)
      *
      * Notmuch database interaction
      */
-    notmuch_rb_cDatabase = rb_define_class_under (mod, "Database", rb_cData);
+    notmuch_rb_cDatabase = rb_define_class_under (mod, "Database", rb_cObject);
     rb_define_alloc_func (notmuch_rb_cDatabase, notmuch_rb_database_alloc);
     rb_define_singleton_method (notmuch_rb_cDatabase, "open", notmuch_rb_database_open, -1); /* in database.c */
     rb_define_method (notmuch_rb_cDatabase, "initialize", notmuch_rb_database_initialize, -1); /* in database.c */
@@ -197,6 +229,7 @@ Init_notmuch (void)
                      notmuch_rb_database_find_message, 1); /* in database.c */
     rb_define_method (notmuch_rb_cDatabase, "find_message_by_filename",
                      notmuch_rb_database_find_message_by_filename, 1); /* in database.c */
+    rb_define_method (notmuch_rb_cDatabase, "all_tags", notmuch_rb_database_get_all_tags, 0); /* in database.c */
     rb_define_method (notmuch_rb_cDatabase, "query", notmuch_rb_database_query_create, 1); /* in database.c */
 
     /*
@@ -204,7 +237,7 @@ Init_notmuch (void)
      *
      * Notmuch directory
      */
-    notmuch_rb_cDirectory = rb_define_class_under (mod, "Directory", rb_cData);
+    notmuch_rb_cDirectory = rb_define_class_under (mod, "Directory", rb_cObject);
     rb_undef_method (notmuch_rb_cDirectory, "initialize");
     rb_define_method (notmuch_rb_cDirectory, "destroy!", notmuch_rb_directory_destroy, 0); /* in directory.c */
     rb_define_method (notmuch_rb_cDirectory, "mtime", notmuch_rb_directory_get_mtime, 0); /* in directory.c */
@@ -217,7 +250,7 @@ Init_notmuch (void)
      *
      * Notmuch file names
      */
-    notmuch_rb_cFileNames = rb_define_class_under (mod, "FileNames", rb_cData);
+    notmuch_rb_cFileNames = rb_define_class_under (mod, "FileNames", rb_cObject);
     rb_undef_method (notmuch_rb_cFileNames, "initialize");
     rb_define_method (notmuch_rb_cFileNames, "destroy!", notmuch_rb_filenames_destroy, 0); /* in filenames.c */
     rb_define_method (notmuch_rb_cFileNames, "each", notmuch_rb_filenames_each, 0); /* in filenames.c */
@@ -228,23 +261,25 @@ Init_notmuch (void)
      *
      * Notmuch query
      */
-    notmuch_rb_cQuery = rb_define_class_under (mod, "Query", rb_cData);
+    notmuch_rb_cQuery = rb_define_class_under (mod, "Query", rb_cObject);
     rb_undef_method (notmuch_rb_cQuery, "initialize");
     rb_define_method (notmuch_rb_cQuery, "destroy!", notmuch_rb_query_destroy, 0); /* in query.c */
     rb_define_method (notmuch_rb_cQuery, "sort", notmuch_rb_query_get_sort, 0); /* in query.c */
     rb_define_method (notmuch_rb_cQuery, "sort=", notmuch_rb_query_set_sort, 1); /* in query.c */
     rb_define_method (notmuch_rb_cQuery, "to_s", notmuch_rb_query_get_string, 0); /* in query.c */
     rb_define_method (notmuch_rb_cQuery, "add_tag_exclude", notmuch_rb_query_add_tag_exclude, 1); /* in query.c */
+    rb_define_method (notmuch_rb_cQuery, "omit_excluded=", notmuch_rb_query_set_omit_excluded, 1); /* in query.c */
     rb_define_method (notmuch_rb_cQuery, "search_threads", notmuch_rb_query_search_threads, 0); /* in query.c */
     rb_define_method (notmuch_rb_cQuery, "search_messages", notmuch_rb_query_search_messages, 0); /* in query.c */
     rb_define_method (notmuch_rb_cQuery, "count_messages", notmuch_rb_query_count_messages, 0); /* in query.c */
+    rb_define_method (notmuch_rb_cQuery, "count_threads", notmuch_rb_query_count_threads, 0); /* in query.c */
 
     /*
      * Document-class: Notmuch::Threads
      *
      * Notmuch threads
      */
-    notmuch_rb_cThreads = rb_define_class_under (mod, "Threads", rb_cData);
+    notmuch_rb_cThreads = rb_define_class_under (mod, "Threads", rb_cObject);
     rb_undef_method (notmuch_rb_cThreads, "initialize");
     rb_define_method (notmuch_rb_cThreads, "destroy!", notmuch_rb_threads_destroy, 0); /* in threads.c */
     rb_define_method (notmuch_rb_cThreads, "each", notmuch_rb_threads_each, 0); /* in threads.c */
@@ -255,7 +290,7 @@ Init_notmuch (void)
      *
      * Notmuch messages
      */
-    notmuch_rb_cMessages = rb_define_class_under (mod, "Messages", rb_cData);
+    notmuch_rb_cMessages = rb_define_class_under (mod, "Messages", rb_cObject);
     rb_undef_method (notmuch_rb_cMessages, "initialize");
     rb_define_method (notmuch_rb_cMessages, "destroy!", notmuch_rb_messages_destroy, 0); /* in messages.c */
     rb_define_method (notmuch_rb_cMessages, "each", notmuch_rb_messages_each, 0); /* in messages.c */
@@ -267,12 +302,13 @@ Init_notmuch (void)
      *
      * Notmuch thread
      */
-    notmuch_rb_cThread = rb_define_class_under (mod, "Thread", rb_cData);
+    notmuch_rb_cThread = rb_define_class_under (mod, "Thread", rb_cObject);
     rb_undef_method (notmuch_rb_cThread, "initialize");
     rb_define_method (notmuch_rb_cThread, "destroy!", notmuch_rb_thread_destroy, 0); /* in thread.c */
     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 */
@@ -285,7 +321,7 @@ Init_notmuch (void)
      *
      * Notmuch message
      */
-    notmuch_rb_cMessage = rb_define_class_under (mod, "Message", rb_cData);
+    notmuch_rb_cMessage = rb_define_class_under (mod, "Message", rb_cObject);
     rb_undef_method (notmuch_rb_cMessage, "initialize");
     rb_define_method (notmuch_rb_cMessage, "destroy!", notmuch_rb_message_destroy, 0); /* in message.c */
     rb_define_method (notmuch_rb_cMessage, "message_id", notmuch_rb_message_get_message_id, 0); /* in message.c */
@@ -313,7 +349,7 @@ Init_notmuch (void)
      *
      * Notmuch tags
      */
-    notmuch_rb_cTags = rb_define_class_under (mod, "Tags", rb_cData);
+    notmuch_rb_cTags = rb_define_class_under (mod, "Tags", rb_cObject);
     rb_undef_method (notmuch_rb_cTags, "initialize");
     rb_define_method (notmuch_rb_cTags, "destroy!", notmuch_rb_tags_destroy, 0); /* in tags.c */
     rb_define_method (notmuch_rb_cTags, "each", notmuch_rb_tags_each, 0); /* in tags.c */