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
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 11 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
45 46 47 48 49 50 51 52 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 45 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
54 55 56 57 58 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 54 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
36 37 38 39 40 41 42 43 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 36 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
29 30 31 32 33 34 |
# File 'lib/active_record_host_pool/connection_adapter_mixin.rb', line 29 def execute_with_switching(*args) if _host_pool_current_database && ! @_no_switch _switch_connection end execute_without_switching(*args) end |