Module: MongoMapper
- Defined in:
- lib/mongo_mapper.rb,
lib/mongo_mapper/plugins.rb,
lib/mongo_mapper/document.rb,
lib/mongo_mapper/plugins/keys.rb,
lib/mongo_mapper/support/find.rb,
lib/mongo_mapper/plugins/clone.rb,
lib/mongo_mapper/plugins/dirty.rb,
lib/mongo_mapper/plugins/rails.rb,
lib/mongo_mapper/finder_options.rb,
lib/mongo_mapper/plugins/logger.rb,
lib/mongo_mapper/plugins/inspect.rb,
lib/mongo_mapper/plugins/equality.rb,
lib/mongo_mapper/embedded_document.rb,
lib/mongo_mapper/plugins/callbacks.rb,
lib/mongo_mapper/plugins/protected.rb,
lib/mongo_mapper/plugins/pagination.rb,
lib/mongo_mapper/plugins/descendants.rb,
lib/mongo_mapper/plugins/validations.rb,
lib/mongo_mapper/plugins/associations.rb,
lib/mongo_mapper/plugins/identity_map.rb,
lib/mongo_mapper/plugins/serialization.rb,
lib/mongo_mapper/plugins/associations/base.rb,
lib/mongo_mapper/plugins/associations/proxy.rb,
lib/mongo_mapper/support/descendant_appends.rb,
lib/mongo_mapper/plugins/associations/one_proxy.rb,
lib/mongo_mapper/plugins/associations/collection.rb,
lib/mongo_mapper/plugins/associations/in_array_proxy.rb,
lib/mongo_mapper/plugins/associations/belongs_to_proxy.rb,
lib/mongo_mapper/plugins/associations/embedded_collection.rb,
lib/mongo_mapper/plugins/associations/many_embedded_proxy.rb,
lib/mongo_mapper/plugins/associations/many_documents_proxy.rb,
lib/mongo_mapper/plugins/associations/many_polymorphic_proxy.rb,
lib/mongo_mapper/plugins/associations/many_documents_as_proxy.rb,
lib/mongo_mapper/plugins/associations/belongs_to_polymorphic_proxy.rb,
lib/mongo_mapper/plugins/associations/many_embedded_polymorphic_proxy.rb
Defined Under Namespace
Modules: Document, EmbeddedDocument, Plugins, Support
Classes: DocumentNotFound, DocumentNotValid, FinderOptions, KeyNotFound, MongoMapperError
Class Method Summary
collapse
Class Method Details
.connection ⇒ Object
58
59
60
|
# File 'lib/mongo_mapper.rb', line 58
def self.connection
@@connection ||= Mongo::Connection.new
end
|
.connection=(new_connection) ⇒ Object
63
64
65
|
# File 'lib/mongo_mapper.rb', line 63
def self.connection=(new_connection)
@@connection = new_connection
end
|
79
80
81
82
83
84
85
|
# File 'lib/mongo_mapper.rb', line 79
def self.database
if @@database_name.blank?
raise 'You forgot to set the default database name: MongoMapper.database = "foobar"'
end
@@database ||= MongoMapper.connection.db(@@database_name)
end
|
.database=(name) ⇒ Object
73
74
75
76
|
# File 'lib/mongo_mapper.rb', line 73
def self.database=(name)
@@database = nil
@@database_name = name
end
|
.ensure_index(klass, keys, options = {}) ⇒ 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.
98
99
100
|
# File 'lib/mongo_mapper.rb', line 98
def self.ensure_index(klass, keys, options={})
ensured_indexes << {:klass => klass, :keys => keys, :options => options}
end
|
.ensure_indexes! ⇒ Object
103
104
105
106
107
108
|
# File 'lib/mongo_mapper.rb', line 103
def self.ensure_indexes!
ensured_indexes.each do |index|
unique = index[:options].delete(:unique)
index[:klass].collection.create_index(index[:keys], unique)
end
end
|
.ensured_indexes ⇒ 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.
88
89
90
|
# File 'lib/mongo_mapper.rb', line 88
def self.ensured_indexes
@@ensured_indexes ||= []
end
|
.ensured_indexes=(value) ⇒ 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.
93
94
95
|
# File 'lib/mongo_mapper.rb', line 93
def self.ensured_indexes=(value)
@@ensured_indexes = value
end
|
68
69
70
|
# File 'lib/mongo_mapper.rb', line 68
def self.logger
connection.logger
end
|
.normalize_object_id(value) ⇒ 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.
121
122
123
|
# File 'lib/mongo_mapper.rb', line 121
def self.normalize_object_id(value)
value.is_a?(String) ? Mongo::ObjectID.from_string(value) : value
end
|
.time_class ⇒ 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.
116
117
118
|
# File 'lib/mongo_mapper.rb', line 116
def self.time_class
use_time_zone? ? Time.zone : Time
end
|
.use_time_zone? ⇒ Boolean
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.
111
112
113
|
# File 'lib/mongo_mapper.rb', line 111
def self.use_time_zone?
Time.respond_to?(:zone) && Time.zone ? true : false
end
|