Class: PolymorphicConstraints::Adapter
- Inherits:
-
Object
- Object
- PolymorphicConstraints::Adapter
- Defined in:
- lib/polymorphic_constraints/adapter.rb
Class Method Summary collapse
- .configured_name ⇒ Object
- .load! ⇒ Object
- .register(adapter_name, file_name) ⇒ Object
- .safe_include(adapter_class_name, adapter_ext) ⇒ Object
Class Method Details
.configured_name ⇒ Object
20 21 22 |
# File 'lib/polymorphic_constraints/adapter.rb', line 20 def configured_name @configured_name ||= ActiveRecord::Base.connection_pool.spec.config[:adapter] end |
.load! ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/polymorphic_constraints/adapter.rb', line 11 def load! if registered.key?(configured_name) require registered[configured_name] else p "Database adapter #{configured_name} not supported. Use:\n" + "PolymorphicConstraints::Adapter.register '#{configured_name}', 'path/to/adapter'" end end |
.register(adapter_name, file_name) ⇒ Object
7 8 9 |
# File 'lib/polymorphic_constraints/adapter.rb', line 7 def register(adapter_name, file_name) registered[adapter_name] = file_name end |
.safe_include(adapter_class_name, adapter_ext) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/polymorphic_constraints/adapter.rb', line 24 def safe_include(adapter_class_name, adapter_ext) ActiveRecord::ConnectionAdapters.const_get(adapter_class_name).class_eval do unless ancestors.include? adapter_ext include adapter_ext end end rescue end |