# frozen_string_literal: true require 'notmuch' require 'pry' require_relative 'osugiru/database' require_relative 'osugiru/config' require_relative 'osugiru/message' require_relative 'osugiru/messages' require_relative 'osugiru/helpers' require_relative 'osugiru/ruleset' module Osugiru class << self attr_accessor :config attr_reader :db, :rule_sets def configure(&block) @config ||= Config.new @rule_sets = [] instance_eval(&block) @db = Database.new(path: config.database_path) end def rule_set(name, &block) @rule_sets << RuleSet.new(name, block) end end end def eval_rules Osugiru.rule_sets.each do |rule_set| rule_set.run end end