lib/mongoid.rb in mongoid-2.0.0.beta.20 vs lib/mongoid.rb in mongoid-2.0.0.rc.1
- old
+ new
@@ -1,6 +1,7 @@
# encoding: utf-8
+
# Copyright (c) 2009, 2010 Durran Jordan
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
@@ -17,13 +18,11 @@
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
require "delegate"
-require "singleton"
require "time"
require "ostruct"
require "active_support/core_ext"
require 'active_support/json'
require "active_support/inflector"
@@ -41,41 +40,45 @@
require "will_paginate/collection"
require "mongo"
require "mongoid/errors"
require "mongoid/extensions"
require "mongoid/safe"
-require "mongoid/associations"
require "mongoid/atomicity"
require "mongoid/attributes"
require "mongoid/callbacks"
require "mongoid/collection"
require "mongoid/collections"
require "mongoid/config"
require "mongoid/contexts"
+require "mongoid/copyable"
require "mongoid/criteria"
require "mongoid/cursor"
require "mongoid/deprecation"
+require "mongoid/default_scope"
require "mongoid/dirty"
require "mongoid/extras"
require "mongoid/factory"
require "mongoid/field"
require "mongoid/fields"
require "mongoid/finders"
require "mongoid/hierarchy"
require "mongoid/identity"
require "mongoid/indexes"
+require "mongoid/inspection"
require "mongoid/javascript"
require "mongoid/json"
require "mongoid/keys"
require "mongoid/logger"
require "mongoid/matchers"
-require "mongoid/memoization"
require "mongoid/modifiers"
require "mongoid/multi_parameter_attributes"
+require "mongoid/multi_database"
require "mongoid/named_scope"
+require "mongoid/nested_attributes"
require "mongoid/paths"
require "mongoid/persistence"
+require "mongoid/relations"
require "mongoid/safety"
require "mongoid/scope"
require "mongoid/state"
require "mongoid/timestamps"
require "mongoid/validations"
@@ -98,11 +101,11 @@
class << self
# Sets the Mongoid configuration options. Best used by passing a block.
#
- # Example:
+ # @example Set up configuration options.
#
# Mongoid.configure do |config|
# name = "mongoid_test"
# host = "localhost"
# config.allow_dynamic_fields = false
@@ -111,36 +114,33 @@
# Mongo::Connection.new(host, 27018, :slave_ok => true).db(name),
# Mongo::Connection.new(host, 27019, :slave_ok => true).db(name)
# ]
# end
#
- # Returns:
- #
- # The Mongoid +Config+ singleton instance.
+ # @return [ Config ] The configuration obejct.
def configure
- config = Mongoid::Config.instance
+ config = Mongoid::Config
block_given? ? yield(config) : config
end
+ alias :config :configure
# Easy convenience method for generating an alert from the
# deprecation module.
#
- # Example:
+ # @example Alert a deprecation.
+ # Mongoid.deprecate("Method no longer used")
#
- # <tt>Mongoid.deprecate("Method no longer used")</tt>
+ # @param [ String ] message The message to print.
def deprecate(message)
- Mongoid::Deprecation.instance.alert(message)
+ Mongoid::Deprecation.alert(message)
end
-
- alias :config :configure
end
# Take all the public instance methods from the Config singleton and allow
# them to be accessed through the Mongoid module directly.
#
- # Example:
- #
- # <tt>Mongoid.database = Mongo::Connection.new.db("test")</tt>
+ # @example Delegate the configuration methods.
+ # Mongoid.database = Mongo::Connection.new.db("test")
Mongoid::Config.public_instance_methods(false).each do |name|
(class << self; self; end).class_eval <<-EOT
def #{name}(*args)
configure.send("#{name}", *args)
end