Sha256: b986a0f23bb9ac9dd7aecb70358acb3fd4c1b454c65dedb7a3d38ef60a3ebbc0

Contents?: true

Size: 937 Bytes

Versions: 3

Compression:

Stored size: 937 Bytes

Contents

require "rails"
require "dryad"

module Dryad
  module Consul
    class Railtie < Rails::Railtie
      initializer "dryad_consul.set_consul" do
        ActiveSupport.on_load(:dryad_consul) do
          Dryad::Consul.configure_consul(Dryad.configuration)
        end
      end

      initializer "dryad_consul.update_active_record_connection" do
        config.after_initialize do
          db_path = "#{Dryad.configuration.namespace}/#{Dryad.configuration.group}/database.yml"
          db_config = Dryad::Consul::ConfigProvider.load(db_path)
          ActiveRecord::Base.configurations = YAML.load(ERB.new(db_config.payload).result)
          ActiveRecord::Base.establish_connection(Rails.env.to_sym)
        rescue Dryad::Core::ConfigurationNotFound => e
          raise e
        rescue Exception => e
          Rails.logger.warn e.message
        end
      end
    end
  end
  ActiveSupport.run_load_hooks(:dryad_consul, Consul)
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
dryad-consul-0.2.6 lib/dryad/consul/railtie.rb
dryad-0.2.5 dryad-consul/lib/dryad/consul/railtie.rb
dryad-consul-0.2.5 lib/dryad/consul/railtie.rb