Module: DataMapper
- Extended by:
- Assertions
- Defined in:
- lib/mack-data_mapper.rb,
lib/mack-data_mapper/resource.rb,
lib/mack-data_mapper/paginator.rb,
lib/gems/dm-core-0.9.9/lib/dm-core.rb,
lib/gems/dm-types-0.9.9/lib/dm-types.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/is.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/hook.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/type.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/model.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/query.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/scope.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/types.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/csv.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/uri.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/logger.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/enum.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/flag.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/json.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/slug.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/uuid.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/yaml.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/version.rb,
lib/gems/dm-migrations-0.9.9/lib/migration.rb,
lib/gems/dm-observer-0.9.9/lib/dm-observer.rb,
lib/mack-data_mapper/dm_patches/migrations.rb,
lib/mack-data_mapper/dm_patches/migrations.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/migrator.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/property.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/resource.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/type_map.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/regexp.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/serial.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/version.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/collection.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/repository.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/types/text.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/transaction.rb,
lib/gems/dm-timestamps-0.9.9/lib/dm-timestamps.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/file_path.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/associations.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/identity_map.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/property_set.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/types/object.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/types/serial.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/epoch_time.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/ip_address.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/types/boolean.rb,
lib/gems/dm-types-0.9.9/lib/dm-types/bcrypt_hash.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/support/errors.rb,
lib/gems/dm-migrations-0.9.9/lib/migration_runner.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/auto_migrations.rb,
lib/gems/dm-observer-0.9.9/lib/dm-observer/version.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/dependency_queue.rb,
lib/gems/dm-aggregates-0.9.9/lib/dm-aggregates/model.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/naming_conventions.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/support/assertions.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/common.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/to_csv.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/to_xml.rb,
lib/gems/dm-aggregates-0.9.9/lib/dm-aggregates/version.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/types/discriminator.rb,
lib/gems/dm-migrations-0.9.9/lib/dm-migrations/version.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/to_json.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/to_yaml.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/version.rb,
lib/gems/dm-timestamps-0.9.9/lib/dm-timestamps/version.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/version.rb,
lib/gems/dm-aggregates-0.9.9/lib/dm-aggregates/collection.rb,
lib/gems/dm-aggregates-0.9.9/lib/dm-aggregates/repository.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/adapters/mysql_adapter.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/types/paranoid_boolean.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/associations/one_to_one.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/types/paranoid_datetime.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/adapters/sqlite3_adapter.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/associations/many_to_one.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/associations/one_to_many.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/adapters/abstract_adapter.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/adapters/postgres_adapter.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/associations/many_to_many.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/associations/relationship.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/formats/url.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/adapters/in_memory_adapter.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/xml_serializers.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/auto_validate.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/formats/email.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/adapters/data_objects_adapter.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/block_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/custom_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/format_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/length_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/method_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/within_validator.rb,
lib/gems/dm-aggregates-0.9.9/lib/dm-aggregates/aggregate_functions.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/associations/relationship_chain.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/generic_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/numeric_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/validation_errors.rb,
lib/gems/dm-core-0.9.9/lib/dm-core/migrations/destructive_migrations.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/xml_serializers/rexml.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/primitive_validator.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/xml_serializers/libxml.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/acceptance_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/uniqueness_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/contextual_validators.rb,
lib/gems/dm-serializer-0.9.9/lib/dm-serializer/xml_serializers/nokogiri.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/absent_field_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/confirmation_validator.rb,
lib/gems/dm-validations-0.9.9/lib/dm-validations/required_field_validator.rb,
lib/gems/dm-aggregates-0.9.9/lib/dm-aggregates/adapters/data_objects_adapter.rb
Overview
TODO: move to dm-more/dm-migrations
Defined Under Namespace
Modules: Adapters, AggregateFunctions, Aggregates, Assertions, Associations, AutoMigrations, DestructiveMigrations, Hook, Is, MigrationRunner, Model, NamingConventions, Observer, Resource, Scope, Serialize, Serializer, Timestamp, Timestamps, Types, Validate, Validations Classes: AutoMigrator, Collection, DependencyQueue, DestructiveMigrator, DuplicateMigrationNameError, IdentityMap, IncompleteResourceError, Logger, MaterializationError, Migration, Migrator, ObjectNotFoundError, PersistenceError, PluginNotFoundError, Property, PropertySet, Query, Repository, RepositoryNotSetupError, Transaction, Type, TypeMap, ValidationError
Constant Summary collapse
- VERSION =
'0.9.9'
Class Attribute Summary collapse
-
.logger ⇒ Object
Returns the value of attribute logger.
Class Method Summary collapse
-
.auto_migrate!(repository_name = nil) ⇒ Object
drops and recreates the repository upwards to match model definitions.
- .auto_upgrade!(repository_name = nil) ⇒ Object
- .dependency_queue ⇒ Object
-
.migrate!(name = Repository.default_name) ⇒ Object
destructively migrates the repository upwards to match model definitions.
- .prepare(*args) {|repository(*args)| ... } ⇒ Object
-
.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
-
.setup(name, uri_or_options) ⇒ Object
Setups up a connection to a data-store.
-
.Type(primitive_type, options = {}) ⇒ Object
class Type.
Methods included from Assertions
Class Attribute Details
.logger ⇒ Object
Returns the value of attribute logger.
36 37 38 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core/logger.rb', line 36 def logger @logger end |
Class Method Details
.auto_migrate!(repository_name = nil) ⇒ Object
drops and recreates the repository upwards to match model definitions
202 203 204 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core.rb', line 202 def self.auto_migrate!(repository_name = nil) AutoMigrator.auto_migrate(repository_name) end |
.auto_upgrade!(repository_name = nil) ⇒ Object
206 207 208 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core.rb', line 206 def self.auto_upgrade!(repository_name = nil) AutoMigrator.auto_upgrade(repository_name) end |
.dependency_queue ⇒ Object
214 215 216 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core.rb', line 214 def self.dependency_queue @dependency_queue ||= DependencyQueue.new end |
.migrate!(name = Repository.default_name) ⇒ Object
destructively migrates the repository upwards to match model definitions
194 195 196 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core.rb', line 194 def self.migrate!(name = Repository.default_name) repository(name).migrate! end |
.prepare(*args) {|repository(*args)| ... } ⇒ Object
210 211 212 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core.rb', line 210 def self.prepare(*args, &blk) yield repository(*args) 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.
172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core.rb', line 172 def self.repository(name = nil) # :yields: current_context current_repository = if name raise ArgumentError, "First optional argument must be a Symbol, but was #{args.first.inspect}" unless name.is_a?(Symbol) Repository.context.detect { |r| r.name == name } || Repository.new(name) else Repository.context.last || Repository.new(Repository.default_name) end if block_given? current_repository.scope { |*block_args| yield(*block_args) } else current_repository end end |
.root ⇒ Object
108 109 110 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core.rb', line 108 def self.root @root ||= Pathname(__FILE__).dirname.parent. end |
.setup(name, uri_or_options) ⇒ Object
Setups up a connection to a data-store
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/gems/dm-core-0.9.9/lib/dm-core.rb', line 129 def self.setup(name, ) assert_kind_of 'name', name, Symbol assert_kind_of 'uri_or_options', , Addressable::URI, Hash, String case when Hash adapter_name = [:adapter].to_s when String, DataObjects::URI, Addressable::URI = DataObjects::URI.parse() if .kind_of?(String) adapter_name = .scheme end class_name = Extlib::Inflection.classify(adapter_name) + 'Adapter' unless Adapters::const_defined?(class_name) lib_name = "#{Extlib::Inflection.underscore(adapter_name)}_adapter" begin require root / 'lib' / 'dm-core' / 'adapters' / lib_name rescue LoadError => e begin require lib_name rescue Exception # library not found, raise the original error raise e end end end Repository.adapters[name] = Adapters::const_get(class_name).new(name, ) end |