diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/osugiru.rb | 5 | ||||
-rw-r--r-- | lib/osugiru/database.rb | 2 | ||||
-rw-r--r-- | lib/osugiru/message.rb | 17 |
3 files changed, 19 insertions, 5 deletions
diff --git a/lib/osugiru.rb b/lib/osugiru.rb index 91a2c06..4e99212 100644 --- a/lib/osugiru.rb +++ b/lib/osugiru.rb @@ -3,12 +3,13 @@ require 'notmuch' require 'pry' -require_relative 'osugiru/database' require_relative 'osugiru/config' +require_relative 'osugiru/database' +require_relative 'osugiru/helpers' require_relative 'osugiru/message' require_relative 'osugiru/messages' -require_relative 'osugiru/helpers' require_relative 'osugiru/ruleset' +require_relative 'osugiru/tags' module Osugiru class << self diff --git a/lib/osugiru/database.rb b/lib/osugiru/database.rb index d014c94..0d33a24 100644 --- a/lib/osugiru/database.rb +++ b/lib/osugiru/database.rb @@ -5,7 +5,7 @@ module Osugiru attr_reader :db def initialize(path:) - @db = ::Notmuch::Database.new(path) + @db = ::Notmuch::Database.new(path, mode: Notmuch::MODE_READ_WRITE) end def query(query) diff --git a/lib/osugiru/message.rb b/lib/osugiru/message.rb index 3446f17..0555724 100644 --- a/lib/osugiru/message.rb +++ b/lib/osugiru/message.rb @@ -6,9 +6,10 @@ module Osugiru def initialize(msg:) @message = msg + @tags = @message.tags end - def method_missing(method_name, *_args) + def method_missing(method_name, *_args) handle_get(Osugiru::Helpers.header_name_from_dsl(method_name)) end @@ -17,7 +18,19 @@ module Osugiru end def tags - @message.tags + @tags + end + + def tags=(new_tags) + @tags = new_tags + end + + def save! + message.remove_all_tags + tags.each do |tag| + message.add_tag(tag) + end + binding.pry end end end |