lib/phobos.rb in phobos-1.0.0 vs lib/phobos.rb in phobos-1.1.0

- old
+ new

@@ -1,17 +1,18 @@ -require 'yaml' +require 'ostruct' require 'securerandom' +require 'yaml' +require 'active_support/core_ext/hash/keys' +require 'active_support/core_ext/string/inflections' +require 'active_support/notifications' require 'concurrent' +require 'exponential_backoff' require 'kafka' -require 'hashie' require 'logging' -require 'exponential_backoff' -require 'active_support/notifications' -require 'active_support/core_ext/string/inflections' -require 'active_support/core_ext/hash/keys' +require 'phobos/deep_struct' require 'phobos/version' require 'phobos/instrumentation' require 'phobos/errors' require 'phobos/listener' require 'phobos/producer' @@ -26,18 +27,18 @@ attr_reader :config, :logger attr_accessor :silence_log def configure(yml_path) ENV['RAILS_ENV'] = ENV['RACK_ENV'] ||= 'development' - @config = Hashie::Mash.new(YAML.load_file(File.expand_path(yml_path))) - @config.class.send(:define_method, :producer_hash) { Phobos.config.producer&.to_hash&.symbolize_keys } - @config.class.send(:define_method, :consumer_hash) { Phobos.config.consumer&.to_hash&.symbolize_keys } + @config = DeepStruct.new(YAML.load_file(File.expand_path(yml_path))) + @config.class.send(:define_method, :producer_hash) { Phobos.config.producer&.to_hash } + @config.class.send(:define_method, :consumer_hash) { Phobos.config.consumer&.to_hash } configure_logger logger.info { Hash(message: 'Phobos configured', env: ENV['RACK_ENV']) } end def create_kafka_client - Kafka.new(config.kafka.to_hash.symbolize_keys) + Kafka.new(config.kafka.to_hash) end def create_exponential_backoff min = Phobos.config.backoff.min_ms / 1000.0 max = Phobos.config.backoff.max_ms / 1000.0