Class: ActiveRecord::Turntable::Shard
- Inherits:
-
Object
- Object
- ActiveRecord::Turntable::Shard
- Defined in:
- lib/active_record/turntable/shard.rb
Direct Known Subclasses
Constant Summary collapse
- DEFAULT_CONFIG =
{ "connection" => (defined?(Rails) ? Rails.env : "development") }.with_indifferent_access
Instance Method Summary collapse
- #connection ⇒ Object
- #connection_pool ⇒ Object
-
#initialize(shard_spec) ⇒ Shard
constructor
A new instance of Shard.
- #name ⇒ Object
Constructor Details
#initialize(shard_spec) ⇒ Shard
Returns a new instance of Shard.
7 8 9 10 |
# File 'lib/active_record/turntable/shard.rb', line 7 def initialize(shard_spec) @config = DEFAULT_CONFIG.merge(shard_spec) @name = @config["connection"] end |
Instance Method Details
#connection ⇒ Object
16 17 18 19 20 |
# File 'lib/active_record/turntable/shard.rb', line 16 def connection connection = connection_pool.connection connection.turntable_shard_name = name connection end |
#connection_pool ⇒ Object
12 13 14 |
# File 'lib/active_record/turntable/shard.rb', line 12 def connection_pool @connection_pool ||= retrieve_connection_pool end |
#name ⇒ Object
22 23 24 |
# File 'lib/active_record/turntable/shard.rb', line 22 def name @name end |