Sha256: 74c9d7b568364100673ee86bbf94c8ded61e43d757d6ed06eb5428f5ac81b43f
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module Qyu # Qyu::Config class Config attr_reader :queue, :store class ServiceConfig class << self # Register a service (Queue/Store) # # @param adapter_class [Class] service Class to Register # @return [Class] service Class to Register def register(adapter_class) types[adapter_class::TYPE] = adapter_class end # Validate provided config # # @param config [Hash] configuration # @return [Boolean] def valid?(config) types[config[:type]].valid_config?(config) end # Get registered services # # @return [Hash] registereds services def types @__types ||= {} end end end class QueueConfig < ServiceConfig; end class StoreConfig < ServiceConfig; end def initialize(queue:, store:) fail 'Invalid message queue configuration' unless QueueConfig.valid?(queue) fail 'Invalid state store configuration' unless StoreConfig.valid?(store) @queue = queue @store = store end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
qyu-1.0.2 | lib/qyu/config.rb |