Module: DataMapper
- Extended by:
- Assertions
- Defined in:
- lib/dm-core.rb,
lib/dm-core.rb,
lib/dm-core/model.rb,
lib/dm-core/query.rb,
lib/dm-core/version.rb,
lib/dm-core/adapters.rb,
lib/dm-core/model/is.rb,
lib/dm-core/property.rb,
lib/dm-core/resource.rb,
lib/dm-core/backwards.rb,
lib/dm-core/collection.rb,
lib/dm-core/model/hook.rb,
lib/dm-core/query/path.rb,
lib/dm-core/query/sort.rb,
lib/dm-core/repository.rb,
lib/dm-core/spec/setup.rb,
lib/dm-core/model/scope.rb,
lib/dm-core/identity_map.rb,
lib/dm-core/property_set.rb,
lib/dm-core/support/hook.rb,
lib/dm-core/support/mash.rb,
lib/dm-core/property/date.rb,
lib/dm-core/property/text.rb,
lib/dm-core/property/time.rb,
lib/dm-core/model/property.rb,
lib/dm-core/property/class.rb,
lib/dm-core/property/float.rb,
lib/dm-core/query/operator.rb,
lib/dm-core/support/logger.rb,
lib/dm-core/property/binary.rb,
lib/dm-core/property/lookup.rb,
lib/dm-core/property/object.rb,
lib/dm-core/property/serial.rb,
lib/dm-core/property/string.rb,
lib/dm-core/query/direction.rb,
lib/dm-core/support/subject.rb,
lib/dm-core/property/boolean.rb,
lib/dm-core/property/decimal.rb,
lib/dm-core/property/integer.rb,
lib/dm-core/property/numeric.rb,
lib/dm-core/relationship_set.rb,
lib/dm-core/support/ext/hash.rb,
lib/dm-core/support/chainable.rb,
lib/dm-core/support/deprecate.rb,
lib/dm-core/support/equalizer.rb,
lib/dm-core/support/ext/array.rb,
lib/dm-core/support/ext/blank.rb,
lib/dm-core/model/relationship.rb,
lib/dm-core/property/date_time.rb,
lib/dm-core/support/assertions.rb,
lib/dm-core/support/ext/module.rb,
lib/dm-core/support/ext/object.rb,
lib/dm-core/support/ext/string.rb,
lib/dm-core/support/ext/try_dup.rb,
lib/dm-core/support/inflections.rb,
lib/dm-core/support/ordered_set.rb,
lib/dm-core/support/subject_set.rb,
lib/dm-core/spec/lib/spec_helper.rb,
lib/dm-core/property/discriminator.rb,
lib/dm-core/property/typecast/time.rb,
lib/dm-core/support/descendant_set.rb,
lib/dm-core/associations/one_to_one.rb,
lib/dm-core/associations/many_to_one.rb,
lib/dm-core/associations/one_to_many.rb,
lib/dm-core/spec/lib/adapter_helpers.rb,
lib/dm-core/spec/lib/pending_helpers.rb,
lib/dm-core/adapters/abstract_adapter.rb,
lib/dm-core/associations/many_to_many.rb,
lib/dm-core/associations/relationship.rb,
lib/dm-core/property/typecast/numeric.rb,
lib/dm-core/support/inflector/methods.rb,
lib/dm-core/adapters/in_memory_adapter.rb,
lib/dm-core/query/conditions/operation.rb,
lib/dm-core/resource/persistence_state.rb,
lib/dm-core/support/local_object_space.rb,
lib/dm-core/support/naming_conventions.rb,
lib/dm-core/query/conditions/comparison.rb,
lib/dm-core/spec/lib/collection_helpers.rb,
lib/dm-core/property/invalid_value_error.rb,
lib/dm-core/support/inflector/inflections.rb,
lib/dm-core/resource/persistence_state/clean.rb,
lib/dm-core/resource/persistence_state/dirty.rb,
lib/dm-core/resource/persistence_state/deleted.rb,
lib/dm-core/resource/persistence_state/immutable.rb,
lib/dm-core/resource/persistence_state/persisted.rb,
lib/dm-core/resource/persistence_state/transient.rb
Overview
TODO: move argument and option validation into the class
Defined Under Namespace
Modules: Adapters, Assertions, Associations, Chainable, Deprecate, Equalizer, Ext, Hook, Inflector, LocalObjectSpace, Model, NamingConventions, Resource, Spec, Subject, Undefined Classes: Collection, DescendantSet, IdentityMap, ImmutableDeletedError, ImmutableError, IncompleteModelError, Logger, Mash, ObjectNotFoundError, OrderedSet, PersistenceError, PluginNotFoundError, Property, PropertySet, Query, RelationshipSet, Repository, RepositoryNotSetupError, SaveFailureError, SubjectSet, UnknownRelationshipError, UnsavedParentError, UpdateConflictError
Constant Summary collapse
- VERSION =
'1.3.0'.freeze
Class Attribute Summary collapse
-
.logger ⇒ Object
Returns the value of attribute logger.
Class Method Summary collapse
-
.finalize ⇒ self
Perform necessary steps to finalize DataMapper for the current repository.
-
.repository(name = nil) {|Proc| ... } ⇒ Object
Block Syntax Pushes the named repository onto the context-stack, yields a new session, and pops the context-stack.
- .root ⇒ Object private
-
.setup(*args) ⇒ DataMapper::Adapters::AbstractAdapter
Setups up a connection to a data-store.
Methods included from Assertions
Class Attribute Details
.logger ⇒ Object
Returns the value of attribute logger.
36 37 38 |
# File 'lib/dm-core/support/logger.rb', line 36 def logger @logger end |
Class Method Details
.finalize ⇒ self
Perform necessary steps to finalize DataMapper for the current repository
This method should be called after loading all models and plugins.
It ensures foreign key properties and anonymous join models are created. These are otherwise lazily declared, which can lead to unexpected errors. It also performs basic validity checking of the DataMapper models.
270 271 272 273 |
# File 'lib/dm-core.rb', line 270 def self.finalize Model.descendants.each(&:finalize) self end |
.repository(name = nil) {|Proc| ... } ⇒ Object
Block Syntax
Pushes the named repository onto the context-stack,
yields a new session, and pops the context-stack.
Non-Block Syntax
Returns the current session, or if there is none,
a new Session.
239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 |
# File 'lib/dm-core.rb', line 239 def self.repository(name = nil) context = Repository.context current_repository = if name name = name.to_sym context.detect { |repository| repository.name == name } else name = Repository.default_name context.last end current_repository ||= Repository.new(name) if block_given? current_repository.scope { |*block_args| yield(*block_args) } else current_repository end end |
.root ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
197 198 199 |
# File 'lib/dm-core.rb', line 197 def self.root @root ||= Pathname(__FILE__).dirname.parent..freeze end |
.setup(*args) ⇒ DataMapper::Adapters::AbstractAdapter
Setups up a connection to a data-store
218 219 220 221 222 223 224 |
# File 'lib/dm-core.rb', line 218 def self.setup(*args) adapter = args.first adapter = Adapters.new(*args) unless adapter.is_a?(Adapters::AbstractAdapter) Repository.adapters[adapter.name] = adapter end |