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/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/resource/state.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/resource/state/clean.rb,
lib/dm-core/resource/state/dirty.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/resource/state/deleted.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/resource/state/immutable.rb,
lib/dm-core/resource/state/persisted.rb,
lib/dm-core/resource/state/transient.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/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/support/inflector/inflections.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.1.0'
Class Attribute Summary collapse
-
.logger ⇒ Object
Returns the value of attribute logger.
Class Method Summary collapse
-
.finalize ⇒ DataMapper
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 ⇒ DataMapper
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.
269 270 271 272 273 274 |
# File 'lib/dm-core.rb', line 269 def self.finalize Model.descendants.each do |model| finalize_model(model) end 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.
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 |
# File 'lib/dm-core.rb', line 238 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.
194 195 196 |
# File 'lib/dm-core.rb', line 194 def self.root @root ||= Pathname(__FILE__).dirname.parent..freeze end |
.setup(*args) ⇒ DataMapper::Adapters::AbstractAdapter
Setups up a connection to a data-store
215 216 217 218 219 220 221 222 223 |
# File 'lib/dm-core.rb', line 215 def self.setup(*args) adapter = args.first unless adapter.kind_of?(Adapters::AbstractAdapter) adapter = Adapters.new(*args) end Repository.adapters[adapter.name] = adapter end |