Module: ActiveRecordHostPool::DatabaseSwitch
- Defined in:
- lib/active_record_host_pool/connection_adapter_mixin.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create_database_with_no_switching(*args) ⇒ Object
- #disconnect_with_host_pooling! ⇒ Object
- #drop_database_with_no_switching(*args) ⇒ Object
- #execute_with_switching(*args) ⇒ Object
Class Method Details
.included(base) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 10 def self.included(base) base.class_eval do attr_accessor(:_host_pool_current_database) alias_method :execute_without_switching, :execute alias_method :execute, :execute_with_switching alias_method :drop_database_without_no_switching, :drop_database alias_method :drop_database, :drop_database_with_no_switching alias_method :create_database_without_no_switching, :create_database alias_method :create_database, :create_database_with_no_switching alias_method :disconnect_without_host_pooling!, :disconnect! alias_method :disconnect!, :disconnect_with_host_pooling! end end |
Instance Method Details
#create_database_with_no_switching(*args) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 44 def create_database_with_no_switching(*args) begin @_no_switch = true create_database_without_no_switching(*args) ensure @_no_switch = false end end |
#disconnect_with_host_pooling! ⇒ Object
53 54 55 56 57 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 53 def disconnect_with_host_pooling! @_cached_current_database = nil @_cached_connection_object_id = nil disconnect_without_host_pooling! end |
#drop_database_with_no_switching(*args) ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 35 def drop_database_with_no_switching(*args) begin @_no_switch = true drop_database_without_no_switching(*args) ensure @_no_switch = false end end |
#execute_with_switching(*args) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 28 def execute_with_switching(*args) if _host_pool_current_database && ! @_no_switch _switch_connection end execute_without_switching(*args) end |