Skip to content

Commit

Permalink
move reflect_on_association to Rails module
Browse files Browse the repository at this point in the history
  • Loading branch information
balexand committed Dec 14, 2011
1 parent f589066 commit 3d633a2
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 53 deletions.
61 changes: 30 additions & 31 deletions lib/mongo_mapper.rb
Expand Up @@ -26,37 +26,36 @@ module Middleware
end

module Plugins
autoload :ActiveModel, 'mongo_mapper/plugins/active_model'
autoload :Associations, 'mongo_mapper/plugins/associations'
autoload :Accessible, 'mongo_mapper/plugins/accessible'
autoload :Callbacks, 'mongo_mapper/plugins/callbacks'
autoload :Caching, 'mongo_mapper/plugins/caching'
autoload :Clone, 'mongo_mapper/plugins/clone'
autoload :Dirty, 'mongo_mapper/plugins/dirty'
autoload :Document, 'mongo_mapper/plugins/document'
autoload :DynamicQuerying, 'mongo_mapper/plugins/dynamic_querying'
autoload :EmbeddedCallbacks, 'mongo_mapper/plugins/embedded_callbacks'
autoload :EmbeddedDocument, 'mongo_mapper/plugins/embedded_document'
autoload :Equality, 'mongo_mapper/plugins/equality'
autoload :IdentityMap, 'mongo_mapper/plugins/identity_map'
autoload :Inspect, 'mongo_mapper/plugins/inspect'
autoload :Indexes, 'mongo_mapper/plugins/indexes'
autoload :Keys, 'mongo_mapper/plugins/keys'
autoload :Logger, 'mongo_mapper/plugins/logger'
autoload :Modifiers, 'mongo_mapper/plugins/modifiers'
autoload :Pagination, 'mongo_mapper/plugins/pagination'
autoload :Persistence, 'mongo_mapper/plugins/persistence'
autoload :Protected, 'mongo_mapper/plugins/protected'
autoload :Querying, 'mongo_mapper/plugins/querying'
autoload :Rails, 'mongo_mapper/plugins/rails'
autoload :ReflectOnAssociation, 'mongo_mapper/plugins/reflect_on_association'
autoload :Safe, 'mongo_mapper/plugins/safe'
autoload :Sci, 'mongo_mapper/plugins/sci'
autoload :Scopes, 'mongo_mapper/plugins/scopes'
autoload :Serialization, 'mongo_mapper/plugins/serialization'
autoload :Timestamps, 'mongo_mapper/plugins/timestamps'
autoload :Userstamps, 'mongo_mapper/plugins/userstamps'
autoload :Validations, 'mongo_mapper/plugins/validations'
autoload :ActiveModel, 'mongo_mapper/plugins/active_model'
autoload :Associations, 'mongo_mapper/plugins/associations'
autoload :Accessible, 'mongo_mapper/plugins/accessible'
autoload :Callbacks, 'mongo_mapper/plugins/callbacks'
autoload :Caching, 'mongo_mapper/plugins/caching'
autoload :Clone, 'mongo_mapper/plugins/clone'
autoload :Dirty, 'mongo_mapper/plugins/dirty'
autoload :Document, 'mongo_mapper/plugins/document'
autoload :DynamicQuerying, 'mongo_mapper/plugins/dynamic_querying'
autoload :EmbeddedCallbacks, 'mongo_mapper/plugins/embedded_callbacks'
autoload :EmbeddedDocument, 'mongo_mapper/plugins/embedded_document'
autoload :Equality, 'mongo_mapper/plugins/equality'
autoload :IdentityMap, 'mongo_mapper/plugins/identity_map'
autoload :Inspect, 'mongo_mapper/plugins/inspect'
autoload :Indexes, 'mongo_mapper/plugins/indexes'
autoload :Keys, 'mongo_mapper/plugins/keys'
autoload :Logger, 'mongo_mapper/plugins/logger'
autoload :Modifiers, 'mongo_mapper/plugins/modifiers'
autoload :Pagination, 'mongo_mapper/plugins/pagination'
autoload :Persistence, 'mongo_mapper/plugins/persistence'
autoload :Protected, 'mongo_mapper/plugins/protected'
autoload :Querying, 'mongo_mapper/plugins/querying'
autoload :Rails, 'mongo_mapper/plugins/rails'
autoload :Safe, 'mongo_mapper/plugins/safe'
autoload :Sci, 'mongo_mapper/plugins/sci'
autoload :Scopes, 'mongo_mapper/plugins/scopes'
autoload :Serialization, 'mongo_mapper/plugins/serialization'
autoload :Timestamps, 'mongo_mapper/plugins/timestamps'
autoload :Userstamps, 'mongo_mapper/plugins/userstamps'
autoload :Validations, 'mongo_mapper/plugins/validations'

module Associations
autoload :Base, 'mongo_mapper/plugins/associations/base'
Expand Down
1 change: 0 additions & 1 deletion lib/mongo_mapper/document.rb
Expand Up @@ -23,7 +23,6 @@ module Document
include Plugins::Accessible
include Plugins::Protected
include Plugins::Rails
include Plugins::ReflectOnAssociation
include Plugins::Safe # needs to be after querying (save_to_collection)
include Plugins::Sci
include Plugins::Scopes
Expand Down
1 change: 0 additions & 1 deletion lib/mongo_mapper/embedded_document.rb
Expand Up @@ -17,7 +17,6 @@ module EmbeddedDocument
include Plugins::Accessible
include Plugins::Protected
include Plugins::Rails
include Plugins::ReflectOnAssociation
include Plugins::Sci
include Plugins::Serialization
include Plugins::Validations
Expand Down
8 changes: 8 additions & 0 deletions lib/mongo_mapper/plugins/rails.rb
Expand Up @@ -2,6 +2,7 @@
module MongoMapper
module Plugins
module Rails
autoload :ActiveRecordAssociationAdapter, "mongo_mapper/plugins/rails/active_record_association_adapter"
extend ActiveSupport::Concern

module InstanceMethods
Expand Down Expand Up @@ -46,6 +47,13 @@ def has_many(*args, &extension)
def column_names
keys.keys
end

# Returns returns an ActiveRecordAssociationAdapter for an association. This adapter has an API that is a
# subset of ActiveRecord::Reflection::AssociationReflection. This allows MongoMapper to be used with the
# association helpers in gems like simple_form and formtastic.
def reflect_on_association(name)
ActiveRecordAssociationAdapter.for_association(associations[name]) if associations[name]
end
end
end
end
Expand Down
@@ -1,7 +1,7 @@
# encoding: UTF-8
module MongoMapper
module Plugins
module ReflectOnAssociation
module Rails
class ActiveRecordAssociationAdapter
attr_reader :klass, :macro, :name, :options

Expand Down
19 changes: 0 additions & 19 deletions lib/mongo_mapper/plugins/reflect_on_association.rb

This file was deleted.

0 comments on commit 3d633a2

Please sign in to comment.