Module: ActiveRecord::Bulkoperation
- Defined in:
- lib/activerecord_bulkoperation.rb,
lib/activerecord_bulkoperation/base.rb,
lib/activerecord_bulkoperation/version.rb,
lib/activerecord_bulkoperation/util/entity_hash.rb,
lib/activerecord_bulkoperation/util/sequence_cache.rb,
lib/activerecord_bulkoperation/util/transaction_object.rb,
lib/activerecord_bulkoperation/util/flush_dirty_objects.rb,
lib/activerecord_bulkoperation/adapters/abstract_adapter.rb,
lib/activerecord_bulkoperation/adapters/oracle_enhanced_adapter.rb,
lib/activerecord_bulkoperation/connection_adapters/oracle_enhanced/oci_connection.rb,
lib/activerecord_bulkoperation/connection_adapters/oracle_enhanced/jdbc_connection.rb
Defined Under Namespace
Modules: AbstractAdapter, BatchUpdate, OracleEnhancedAdapter, Util
Constant Summary collapse
- ActiveRecordVersion =
Gem.loaded_specs['activerecord'].version
- AdapterPath =
'activerecord_bulkoperation/active_record/adapters'
- VERSION =
'0.2.3'
Class Method Summary collapse
- .base_adapter(adapter) ⇒ Object
-
.load_from_connection_pool(connection_pool) ⇒ Object
Loads the import functionality for the passed in ActiveRecord connection.
-
.require_adapter(adapter) ⇒ Object
Loads the import functionality for a specific database adapter.
Class Method Details
.base_adapter(adapter) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/activerecord_bulkoperation/base.rb', line 5 def self.base_adapter(adapter) case adapter when 'mysqlspatial' then 'mysql' when 'mysql2spatial' then 'mysql2' when 'spatialite' then 'sqlite3' when 'oracle_enhanced' then 'oracle_enhanced' else adapter end end |
.load_from_connection_pool(connection_pool) ⇒ Object
Loads the import functionality for the passed in ActiveRecord connection
26 27 28 29 30 |
# File 'lib/activerecord_bulkoperation/base.rb', line 26 def self.load_from_connection_pool(connection_pool) # currently only oracle_enhanced_adapter is supported and connection_pool.spec does not work with Rails 6.1. # require_adapter connection_pool.spec.config[:adapter] require_adapter('oracle_enhanced') end |
.require_adapter(adapter) ⇒ Object
Loads the import functionality for a specific database adapter
16 17 18 19 20 21 22 23 |
# File 'lib/activerecord_bulkoperation/base.rb', line 16 def self.require_adapter(adapter) require File.join(AdapterPath,'/abstract_adapter') begin require File.join(AdapterPath,"/#{base_adapter(adapter)}_adapter") rescue LoadError # fallback end end |