diff options
Diffstat (limited to 'lib/killjoy/amqp_configuration.rb')
| -rw-r--r-- | lib/killjoy/amqp_configuration.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/killjoy/amqp_configuration.rb b/lib/killjoy/amqp_configuration.rb new file mode 100644 index 0000000..87bfab3 --- /dev/null +++ b/lib/killjoy/amqp_configuration.rb @@ -0,0 +1,39 @@ +module Killjoy + class AMQPConfiguration + attr_reader :environment + + def initialize(environment: ENV.fetch("ENV", "development")) + @environment = environment + end + + def amqp_uri + configuration['amqp_uri'] + end + + def exchange + configuration['exchange'] + end + + def exchange_type + configuration['exchange_type'] + end + + def shards + configuration['shards'].to_i + end + + def to_hash + configuration + end + + private + + def configuration(file = "config/amqp.yml") + @configuration ||= YAML.load(expand_template(file))[environment] + end + + def expand_template(file) + ERB.new(File.read(file)).result(binding) + end + end +end |
