module Cassie::Configuration::Loading

Public Instance Methods

cluster_configurations() click to toggle source

Fetch cluster configurations from configuraiton file located at +paths+ @return [Hash{String => Object}] Configuration loaded from yml file

# File lib/cassie/configuration/loading.rb, line 7
def cluster_configurations
  path = paths["cluster_configurations"]

  file = begin
    File.new(path)
  rescue StandardError
    raise MissingClusterConfigurations.new(path)
  end

  require "yaml"
  require "erb"

  hash = YAML.load(ERB.new(file.read).result) || {}
  hash.with_indifferent_access
rescue StandardError => e
  raise e, "Cannot load Cassandra cluster configurations:\n#{e.message}", e.backtrace
end