Module: Datasource

Extended by:
Adapters::ActiveRecord::DatasourceGenerator, Adapters::Sequel::DatasourceGenerator
Includes:
Configuration
Defined in:
lib/datasource.rb,
lib/datasource/base.rb,
lib/datasource/configuration.rb,
lib/datasource/adapters/sequel.rb,
lib/datasource/attributes/loaded.rb,
lib/datasource/collection_context.rb,
lib/datasource/adapters/active_record.rb,
lib/datasource/attributes/query_attribute.rb,
lib/datasource/attributes/computed_attribute.rb

Defined Under Namespace

Modules: Adapters, Attributes, Configuration Classes: Base, CollectionContext, InstallGenerator

Constant Summary collapse

Error =
Class.new(StandardError)
RecursionError =
Class.new(StandardError)
AdapterPaths =
{
  activerecord: 'datasource/adapters/active_record',
  active_record: :activerecord,
  sequel: 'datasource/adapters/sequel'
}

Class Method Summary collapse

Methods included from Adapters::Sequel::DatasourceGenerator

From

Methods included from Adapters::ActiveRecord::DatasourceGenerator

From

Methods included from Configuration

default_adapters

Class Method Details

.orm_adaptersObject



35
36
37
38
39
# File 'lib/datasource.rb', line 35

def orm_adapters
  @orm_adapters ||= begin
    Datasource::Adapters.constants.map { |name| Datasource::Adapters.const_get(name) }
  end
end

.setup {|config| ... } ⇒ Object

Yields:

  • (config)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/datasource.rb', line 16

def setup
  self.logger ||= Logger.new(STDOUT).tap do |logger|
    logger.level = Logger::WARN
    logger.formatter = proc do |severity, datetime, progname, msg|
      "[Datasource][#{severity}] - #{msg}\n"
    end
    logger
  end

  yield(config)

  config.adapters.each do |adapter_name|
    adapter_path = AdapterPaths[adapter_name]
    adapter_path = AdapterPaths[adapter_path] if adapter_path.is_a?(Symbol)
    fail "Unknown Datasource adapter '#{adapter_name}'." unless adapter_path
    require adapter_path
  end
end