Sha256: d0c30dce059eac772c677b20772192c29a5fb50a92d085ac39084e11cba41818

Contents?: true

Size: 1.15 KB

Versions: 21

Compression:

Stored size: 1.15 KB

Contents

$LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
require 'mongo_mapper'
MongoMapper.database = 'testing'

class User
  include MongoMapper::Document
  key :email, String
end

# Drop collection and ensure unique index on email
User.collection.drop
User.ensure_index(:email, :unique => true)

User.create(:email => 'nunemaker@gmail.com')
User.create(:email => 'nunemaker@gmail.com')

puts "Count should only be one since the second create failed, count is: #{User.count}" # 1 because second was not created, but no exception raised
puts

# save method also takes options, including :safe
# which will force raise when duplicate is hit
begin
  user = User.new(:email => 'nunemaker@gmail.com')
  user.save(:safe => true)
rescue Mongo::OperationFailure => e
  puts 'Mongo Operation failure raised because duplicate email was entered'
  puts e.inspect
  puts
end

# Mark user model as safe, same as doing this...
# class User
#   include MongoMapper::Document
#   safe
# end
User.safe

begin
  User.create(:email => 'nunemaker@gmail.com')
rescue Mongo::OperationFailure => e
  puts 'Mongo Operation failure raised because duplicate email was entered'
  puts e.inspect
end

Version data entries

21 entries across 21 versions & 6 rubygems

Version Path
mongo_mapper-0.14.0 examples/safe.rb
mongo_mapper-0.14.0.rc1 examples/safe.rb
mongo_mapper-0.13.1 examples/safe.rb
mongo_mapper-0.13.0 examples/safe.rb
mongo_mapper-0.13.0.beta2 examples/safe.rb
mongo_mapper-0.13.0.beta1 examples/safe.rb
mongo_mapper-0.12.0 examples/safe.rb
lookout-mongo_mapper-0.11.3 examples/safe.rb
mongo_mapper-0.11.2 examples/safe.rb
jamieorc-mongo_mapper-0.11.1.1 examples/safe.rb
mongo_mapper-0.11.1 examples/safe.rb
mongo_mapper-0.11.0 examples/safe.rb
mongo_mapper-0.10.1 examples/safe.rb
mongo_mapper-0.10.0 examples/safe.rb
mongo_mapper-0.9.2 examples/safe.rb
jonbell-mongo_mapper-0.8.6 examples/safe.rb
mongo_mapper-0.9.1 examples/safe.rb
mongo_mapper-0.9.0 examples/safe.rb
ign-mongo_mapper-0.8.6.2 examples/safe.rb
ign-mongo_mapper-0.8.6.1 examples/safe.rb