module NinjaModel::Adapters::ClassMethods
Public Instance Methods
register_adapter(name, klass)
click to toggle source
# File lib/ninja_model/adapters.rb, line 24 def register_adapter(name, klass) if klass.ancestors.include?(NinjaModel::Adapters::AbstractAdapter) Adapters::AdapterManager.register_adapter_class(name, klass) else raise InvalidAdapter, "Invalid adapter: #{klass}" end end
retrieve_adapter()
click to toggle source
# File lib/ninja_model/adapters.rb, line 55 def retrieve_adapter adapter_manager.retrieve_adapter(self) end
Also aliased as: adapter
set_adapter(spec = nil)
click to toggle source
# File lib/ninja_model/adapters.rb, line 32 def set_adapter(spec = nil) case spec when nil raise AdapterNotSpecified unless defined?(Rails.env) set_adapter(Rails.env) when Symbol, String if config = NinjaModel.configuration.specs[spec.to_s] set_adapter(config) else raise InvalidSpecification, "#{spec} is not configured" end when Adapters::AdapterSpecification self.adapter_manager.create_adapter(name, spec) else spec = spec.symbolize_keys raise AdapterNotSpecified, "configuration does not specify adapter: #{spec}" unless spec.key?(:adapter) adapter_name = spec[:adapter] raise InvalidAdapter, "configuration does not specify adapter" unless Adapters::AdapterManager.registered?(adapter_name) shutdown_adapter set_adapter(Adapters::AdapterSpecification.new(spec, adapter_name)) end end
shutdown_adapter(klass = self)
click to toggle source
# File lib/ninja_model/adapters.rb, line 60 def shutdown_adapter(klass = self) adapter_manager.remove_adapter(klass) end