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