Skip to content

Instantly share code, notes, and snippets.

@JonKernPA
Created May 18, 2011 12:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JonKernPA/978476 to your computer and use it in GitHub Desktop.
Save JonKernPA/978476 to your computer and use it in GitHub Desktop.
Model keys with MongoMapper
MongoMapper.database.collection('users').drop
class User
include MongoMapper::Document
key :name, String, :required => true
end
User.destroy_all
text = []
text << "After model with key :name, String"
text << User.keys.keys.inspect
text << 'User.create(:name => "Fred")'
User.create(:name => "Fred")
text << User.keys.keys.inspect
text << 'User.create(:name => "Fred", :email => "me@me.com")'
User.create(:name => "Fred", :email => "me@me.com")
text << User.keys.keys.inspect
text << 'User.destroy_all'
User.destroy_all
text << User.keys.keys.inspect
text.each {|t| puts t}
# Results
=begin
After model with key :name, String
["name", "_id"]
User.create(:name => "Fred")
["name", "_id"]
User.create(:name => "Fred", :email => "me@me.com")
["name", "_id", "email"]
User.destroy_all
["name", "_id", "email"]
=end
class User
include MongoMapper::Document
key :name, String, :required => true
key :city, String
end
text = []
text << 'Extended the class, adding city'
text << User.keys.keys.inspect
text.each {|t| puts t}
# Results
=begin
Extended the class, adding city
["city", "name", "_id", "email"]
=end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment