lib/deimos/config/configuration.rb in deimos-ruby-1.16.3 vs lib/deimos/config/configuration.rb in deimos-ruby-1.16.4
- old
+ new
@@ -30,10 +30,11 @@
validate_consumers
validate_db_backend if self.config.producers.backend == :db
end
# Loads generated classes
+ # @return [void]
def self.load_generated_schema_classes
if Deimos.config.schema.generated_class_path.nil?
raise 'Cannot use schema classes without schema.generated_class_path. Please provide a directory.'
end
@@ -41,10 +42,11 @@
rescue LoadError
raise 'Cannot load schema classes. Please regenerate classes with rake deimos:generate_schema_models.'
end
# Ensure everything is set up correctly for the DB backend.
+ # @!visibility private
def self.validate_db_backend
begin
require 'activerecord-import'
rescue LoadError
raise 'Cannot set producers.backend to :db without activerecord-import! Please add it to your Gemfile.'
@@ -54,10 +56,11 @@
end
end
# Validate that consumers are configured correctly, including their
# delivery mode.
+ # @!visibility private
def self.validate_consumers
Phobos.config.listeners.each do |listener|
handler_class = listener.handler.constantize
delivery = listener.delivery
@@ -72,9 +75,10 @@
raise "Non-batch Consumer #{listener.handler} does not implement `consume`"
end
end
end
+ # @!visibility private
# @param kafka_config [FigTree::ConfigStruct]
def self.configure_producer_or_consumer(kafka_config)
klass = kafka_config.class_name.constantize
klass.class_eval do
topic(kafka_config.topic) if kafka_config.topic.present? && klass.respond_to?(:topic)