class ActiveRecord::Sharding::ShardRepository
Attributes
base_class[R]
Public Class Methods
new(cluster_config, base_class)
click to toggle source
# File lib/active_record/sharding/shard_repository.rb, line 6 def initialize(cluster_config, base_class) @base_class = base_class shards = cluster_config.connections.map do |connection_name| [connection_name, generate_model_for_shard(connection_name)] end @shards = Hash[shards] end
Public Instance Methods
all()
click to toggle source
# File lib/active_record/sharding/shard_repository.rb, line 20 def all @shards.values end
fetch(connection_name)
click to toggle source
# File lib/active_record/sharding/shard_repository.rb, line 16 def fetch(connection_name) @shards.fetch connection_name end
Private Instance Methods
generate_class_name(connection_name)
click to toggle source
# File lib/active_record/sharding/shard_repository.rb, line 26 def generate_class_name(connection_name) "ShardFor#{connection_name.to_s.tr('-', '_').classify}" end