Skip to content

Commit

Permalink
Moved inspect, clone, equality and keys to plugins. Removed some extr…
Browse files Browse the repository at this point in the history
…a files.
  • Loading branch information
jnunemaker committed Jan 10, 2010
1 parent ca42bef commit a3c0b60
Show file tree
Hide file tree
Showing 16 changed files with 402 additions and 387 deletions.
4 changes: 4 additions & 0 deletions lib/mongo_mapper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,12 @@ def self.normalize_object_id(value)
require 'mongo_mapper/plugins'
require 'mongo_mapper/plugins/associations'
require 'mongo_mapper/plugins/callbacks'
require 'mongo_mapper/plugins/clone'
require 'mongo_mapper/plugins/descendants'
require 'mongo_mapper/plugins/dirty'
require 'mongo_mapper/plugins/equality'
require 'mongo_mapper/plugins/inspect'
require 'mongo_mapper/plugins/keys'
require 'mongo_mapper/plugins/logger'
require 'mongo_mapper/plugins/pagination'
require 'mongo_mapper/plugins/rails'
Expand Down
26 changes: 16 additions & 10 deletions lib/mongo_mapper/document.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,19 @@ def self.included(model)
extend Finders

extend Plugins
plugin Plugins::Associations
plugin Plugins::Callbacks
plugin Plugins::Clone
plugin Plugins::Descendants
plugin Plugins::Dirty
plugin Plugins::Equality
plugin Plugins::Inspect
plugin Plugins::Keys
plugin Plugins::Logger
plugin Plugins::Pagination

plugin Plugins::Rails
plugin Plugins::Serialization
plugin Plugins::Validations
extend Plugins::Validations::DocumentMacros
end

Expand All @@ -22,10 +31,7 @@ def self.included(model)

module ClassMethods
def inherited(subclass)
if subclass.respond_to?(:set_collection_name)
subclass.set_collection_name(collection_name)
end

subclass.set_collection_name(collection_name)
super
end

Expand Down Expand Up @@ -254,7 +260,7 @@ def initialize_each(*docs)
instances = []
docs = [{}] if docs.blank?
docs.flatten.each do |attrs|
doc = initialize_doc(attrs)
doc = load(attrs)
yield(doc)
instances << doc
end
Expand All @@ -264,7 +270,7 @@ def initialize_each(*docs)
def find_every(options)
criteria, options = to_finder_options(options)
collection.find(criteria, options).to_a.map do |doc|
initialize_doc(doc)
load(doc)
end
end

Expand All @@ -282,7 +288,7 @@ def find_some(ids, options={})
def find_one(options={})
criteria, options = to_finder_options(options)
if doc = collection.find_one(criteria, options)
initialize_doc(doc)
load(doc)
end
end

Expand Down Expand Up @@ -335,15 +341,15 @@ module InstanceMethods
def collection
self.class.collection
end

def database
self.class.database
end

def new?
!_id? || using_custom_id?
end

def save(options={})
options.reverse_merge!(:validate => true)
perform_validations = options.delete(:validate)
Expand Down
Loading

0 comments on commit a3c0b60

Please sign in to comment.