Module: DataMapper

Defined in:
lib/data_mapper/validations.rb,
lib/data_mapper/base.rb,
lib/data_mapper/context.rb,
lib/data_mapper/database.rb,
lib/data_mapper/property.rb,
lib/data_mapper/callbacks.rb,
lib/data_mapper/persistence.rb,
lib/data_mapper/associations.rb,
lib/data_mapper/identity_map.rb,
lib/data_mapper/embedded_value.rb,
lib/data_mapper/support/errors.rb,
lib/data_mapper/support/string.rb,
lib/data_mapper/support/symbol.rb,
lib/data_mapper/auto_migrations.rb,
lib/data_mapper/dependency_queue.rb,
lib/data_mapper/support/weak_hash.rb,
lib/data_mapper/support/enumerable.rb,
lib/data_mapper/adapters/sql/quoting.rb,
lib/data_mapper/adapters/sql/coersion.rb,
lib/data_mapper/support/serialization.rb,
lib/data_mapper/adapters/mysql_adapter.rb,
lib/data_mapper/associations/reference.rb,
lib/data_mapper/support/connection_pool.rb,
lib/data_mapper/adapters/sqlite3_adapter.rb,
lib/data_mapper/adapters/abstract_adapter.rb,
lib/data_mapper/adapters/postgresql_adapter.rb,
lib/data_mapper/adapters/sql/mappings/table.rb,
lib/data_mapper/adapters/data_object_adapter.rb,
lib/data_mapper/adapters/sql/mappings/column.rb,
lib/data_mapper/adapters/sql/mappings/schema.rb,
lib/data_mapper/associations/has_n_association.rb,
lib/data_mapper/associations/has_many_association.rb,
lib/data_mapper/adapters/sql/commands/load_command.rb,
lib/data_mapper/associations/belongs_to_association.rb,
lib/data_mapper/support/active_record_impersonation.rb,
lib/data_mapper/adapters/sql/mappings/associations_set.rb,
lib/data_mapper/associations/has_and_belongs_to_many_association.rb

Overview

See ‘fastthread’ dependency in data_mapper.rb require ‘thread’

Defined Under Namespace

Modules: Adapters, Associations, AutoMigrations, CallbacksHelper, Persistence, Support, Validations Classes: Base, Callbacks, Context, Database, DatabaseError, DependencyQueue, EmbeddedValue, ForeignKeyNotFoundError, IdentityMap, InvalidRecord, MaterializationError, Property

Class Method Summary collapse

Class Method Details

.database(name = :default) ⇒ Object

Block Syntax:

Pushes the named database onto the context-stack, yields a new session, and pops the context-stack.

results = DataMapper.database(:second_database) do |current_context|
  ...
end

Non-Block Syntax:

Returns the current session, or if there is none, a new Session.

current_database = DataMapper.database


26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/data_mapper/database.rb', line 26

def self.database(name = :default) # :yields: current_context
  unless block_given?
    Database.context.last || Context.new(Database[name].adapter)
  else
    begin
      Database.context.push(Context.new(Database[name].adapter))
      return yield(Database.context.last)
    ensure
      Database.context.pop
    end
  end
end