module Dry::Logic

def self.Rule(*args, **options, &block)

def self.Rule(*args, **options, &block)
  if args.any?
    Rule.build(*args, **options)
  elsif block
    Rule.build(block, **options)
  end
end

def self.loader

def self.loader
  @loader ||= Zeitwerk::Loader.new.tap do |loader|
    root = File.expand_path("..", __dir__)
    loader.tag = "dry-logic"
    loader.inflector = Zeitwerk::GemInflector.new("#{root}/dry-logic.rb")
    loader.push_dir(root)
    loader.ignore(
      "#{root}/dry-logic.rb",
      "#{root}/dry/logic/version.rb"
    )
  end
end