Class: Volt::DataStore
- Inherits:
-
Object
show all
- Defined in:
- lib/volt/data_stores/data_store.rb,
lib/volt/data_stores/base_adaptor_client.rb,
lib/volt/data_stores/base_adaptor_server.rb
Defined Under Namespace
Classes: BaseAdaptorClient, BaseAdaptorServer
Class Method Summary
collapse
Class Method Details
.adaptor_client ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/volt/data_stores/data_store.rb', line 23
def self.adaptor_client
@adaptor_client ||= begin
ds_name = Volt.config.public.datastore_name
unless ds_name
raise "No data store configured, please include volt-mongo or " +
"another similar gem."
end
adaptor_class_name = ds_name.capitalize + "AdaptorClient"
Volt::DataStore.const_get(adaptor_class_name)
end
end
|
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/volt/data_stores/data_store.rb', line 5
def self.fetch
return @adaptor if @adaptor
database_name = Volt.config.db_driver
adaptor_name = database_name.camelize + 'AdaptorServer'
root = Volt::DataStore
if root.const_defined?(adaptor_name)
adaptor_name = root.const_get(adaptor_name)
@adaptor = adaptor_name.new
else
raise "#{database_name} is not a supported database, you might be missing a volt-#{database_name} gem"
end
@adaptor
end
|