Added User.spawn_with_protected to generate an unsaved User record.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3337 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Eric Davis 2010-01-23 16:50:41 +00:00
parent d4525828b9
commit a8f56aad2c
1 changed files with 16 additions and 1 deletions

View File

@ -1,14 +1,29 @@
module ObjectDaddyHelpers module ObjectDaddyHelpers
# TODO: The gem or official version of ObjectDaddy doesn't set
# protected attributes so they need to be wrapped.
def User.generate_with_protected(attributes={})
user = User.spawn_with_protected(attributes)
user.save
user
end
# TODO: The gem or official version of ObjectDaddy doesn't set # TODO: The gem or official version of ObjectDaddy doesn't set
# protected attributes so they need to be wrapped. # protected attributes so they need to be wrapped.
def User.generate_with_protected!(attributes={}) def User.generate_with_protected!(attributes={})
user = User.spawn_with_protected(attributes)
user.save!
user
end
# TODO: The gem or official version of ObjectDaddy doesn't set
# protected attributes so they need to be wrapped.
def User.spawn_with_protected(attributes={})
user = User.spawn(attributes) do |user| user = User.spawn(attributes) do |user|
user.login = User.next_login user.login = User.next_login
attributes.each do |attr,v| attributes.each do |attr,v|
user.send("#{attr}=", v) user.send("#{attr}=", v)
end end
end end
user.save!
user user
end end