module Dry::Types
def self.loader
def self.loader @loader ||= ::Zeitwerk::Loader.new.tap do |loader| root = ::File.expand_path("..", __dir__) loader.tag = "dry-types" loader.inflector = ::Zeitwerk::GemInflector.new("#{root}/dry-types.rb") loader.inflector.inflect("json" => "JSON") loader.push_dir(root) loader.ignore( "#{root}/dry-types.rb", "#{root}/dry/types/extensions", "#{root}/dry/types/printer", "#{root}/dry/types/spec/types.rb", "#{root}/dry/types/{#{%w[ compat constraints core errors extensions inflector module json params printer version ].join(",")}}.rb" ) end end