diff options
Diffstat (limited to 'lib/osugiru.rb')
-rw-r--r-- | lib/osugiru.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/osugiru.rb b/lib/osugiru.rb new file mode 100644 index 0000000..91a2c06 --- /dev/null +++ b/lib/osugiru.rb @@ -0,0 +1,39 @@ +# 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 + + |