class ActiveRecord::Sharding::Config

Attributes

cluster_configs[R]
sequencer_configs[R]

Public Class Methods

new() click to toggle source
# File lib/active_record/sharding/config.rb, line 6
def initialize
  @cluster_configs = {}
  @sequencer_configs = {}
end

Public Instance Methods

define_cluster(cluster_name, &block) click to toggle source
# File lib/active_record/sharding/config.rb, line 11
def define_cluster(cluster_name, &block)
  cluster_config = ClusterConfig.new(cluster_name)
  cluster_config.instance_eval(&block)
  cluster_config.validate_config!
  @cluster_configs[cluster_name] = cluster_config
end
define_sequencer(sequencer_name, &block) click to toggle source
# File lib/active_record/sharding/config.rb, line 22
def define_sequencer(sequencer_name, &block)
  sequencer_config = SequencerConfig.new sequencer_name
  sequencer_config.instance_eval(&block)
  sequencer_config.validate_config!
  @sequencer_configs[sequencer_name] = sequencer_config
end
fetch_cluster_config(cluster_name) click to toggle source
# File lib/active_record/sharding/config.rb, line 18
def fetch_cluster_config(cluster_name)
  @cluster_configs.fetch cluster_name
end
fetch_sequencer_config(sequencer_name) click to toggle source
# File lib/active_record/sharding/config.rb, line 29
def fetch_sequencer_config(sequencer_name)
  @sequencer_configs.fetch sequencer_name
end