Sha256: df4c23d93e24d77f7f635f0b467baaca70e58aa2bddaedf507b575f28ec6818d

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

module ActiveRecord::Turntable
  class Railtie < Rails::Railtie
    rake_tasks do
      require "active_record/turntable/active_record_ext/database_tasks"
      load "active_record/turntable/railties/databases.rake"
    end

    # rails loading hook
    ActiveSupport.on_load(:before_initialize) do
      ActiveSupport.on_load(:active_record) do
        ActiveRecord::Base.include(ActiveRecord::Turntable)
      end
    end

    # initialize
    initializer "turntable.initialize_clusters" do
      ActiveSupport.on_load(:active_record) do
        if File.exist?(ActiveRecord::Base.turntable_config_file)
          ActiveRecord::Turntable::Config.load!
        else
          warn("[activerecord-turntable] config/turntable.yml is not found. skipped initliazing cluster.")
        end
      end
    end

    # set QueryCache executor hooks for turntable clusters
    initializer "active_record.set_executor_hooks" do
      ActiveSupport.on_load(:active_record) do
        ActiveRecord::Turntable::QueryCache.install_executor_hooks
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
activerecord-turntable-3.0.0 lib/active_record/turntable/railtie.rb
activerecord-turntable-3.0.0.alpha3 lib/active_record/turntable/railtie.rb
activerecord-turntable-3.0.0.alpha2 lib/active_record/turntable/railtie.rb
activerecord-turntable-3.0.0.alpha1 lib/active_record/turntable/railtie.rb