Module: MongoidExt::MongoMapper::ClassMethods
- Defined in:
- lib/mongoid_ext/mongo_mapper.rb
Instance Method Summary collapse
- #belongs_to(name, opts = {}) ⇒ Object
- #ensure_index(*args) ⇒ Object
- #find_each(*args, &block) ⇒ Object
- #key(name, *args) ⇒ Object
- #many(name, opts = {}) ⇒ Object (also: #has_many)
- #one(name, opts = {}) ⇒ Object (also: #has_one)
- #timestamps! ⇒ Object
Instance Method Details
#belongs_to(name, opts = {}) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/mongoid_ext/mongo_mapper.rb', line 34 def belongs_to(name, opts = {}) if fkey = opts.delete(:foreign_key) opts[:inverse_of] = fkey.sub(/_id$/, "") end if opts[:polymorphic] raise ArgumentError, "polymorphic associations are not supported yet" end referenced_in name, opts end |
#ensure_index(*args) ⇒ Object
58 59 60 |
# File 'lib/mongoid_ext/mongo_mapper.rb', line 58 def ensure_index(*args) index *args end |
#find_each(*args, &block) ⇒ Object
9 10 11 12 13 |
# File 'lib/mongoid_ext/mongo_mapper.rb', line 9 def find_each(*args, &block) all(*args).each do |doc| block.call(doc) end end |
#key(name, *args) ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/mongoid_ext/mongo_mapper.rb', line 50 def key(name, *args) opts = args. opts[:type] = args.first if !args.empty? field name, opts end |
#many(name, opts = {}) ⇒ Object Also known as: has_many
15 16 17 18 19 20 21 22 |
# File 'lib/mongoid_ext/mongo_mapper.rb', line 15 def many(name, opts = {}) opts[:stored_as] = :array if opts.delete(:in) if fkey = opts.delete(:foreign_key) opts[:inverse_of] = fkey.sub(/_id$/, "") end references_many name, opts end |
#one(name, opts = {}) ⇒ Object Also known as: has_one
25 26 27 28 29 30 31 |
# File 'lib/mongoid_ext/mongo_mapper.rb', line 25 def one(name, opts = {}) if fkey = opts.delete(:foreign_key) opts[:inverse_of] = fkey.sub(/_id$/, "") end references_one name, opts end |
#timestamps! ⇒ Object
46 47 48 |
# File 'lib/mongoid_ext/mongo_mapper.rb', line 46 def include Mongoid::Timestamps end |