Sha256: e574a309c47642962892efa9a6278d748f648f3a0b2f3be563d14d6b22177d86
Contents?: true
Size: 1.08 KB
Versions: 8
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true # External components # delegate should be removed because we don't need it, we just add it because of ruby-kafka %w[ delegate json delivery_boy singleton dry-configurable dry/monitor/notifications dry-validation zeitwerk ].each { |lib| require lib } # WaterDrop library module WaterDrop class << self attr_accessor :logger # Sets up the whole configuration # @param [Block] block configuration block def setup(&block) Config.setup(&block) DeliveryBoy.logger = self.logger = config.logger ConfigApplier.call(DeliveryBoy.config, Config.config.to_h) end # @return [WaterDrop::Config] config instance def config Config.config end # @return [::WaterDrop::Monitor] monitor that we want to use def monitor config.monitor end # @return [String] root path of this gem def gem_root Pathname.new(File.expand_path('..', __dir__)) end end end Zeitwerk::Loader .for_gem .tap { |loader| loader.ignore("#{__dir__}/waterdrop.rb") } .tap(&:setup) .tap(&:eager_load)
Version data entries
8 entries across 8 versions & 1 rubygems