You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

object_daddy_helpers.rb 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. module ObjectDaddyHelpers
  2. # TODO: Remove these three once everyone has ported their code to use the
  3. # new object_daddy version with protected attribute support
  4. def User.generate_with_protected(attributes={})
  5. User.generate(attributes)
  6. end
  7. def User.generate_with_protected!(attributes={})
  8. User.generate!(attributes)
  9. end
  10. def User.spawn_with_protected(attributes={})
  11. User.spawn(attributes)
  12. end
  13. def User.add_to_project(user, project, roles)
  14. roles = [roles] unless roles.is_a?(Array)
  15. Member.generate!(:principal => user, :project => project, :roles => roles)
  16. end
  17. # Generate the default Query
  18. def Query.generate_default!(attributes={})
  19. query = Query.spawn(attributes)
  20. query.name ||= '_'
  21. query.save!
  22. query
  23. end
  24. # Generate an issue for a project, using it's trackers
  25. def Issue.generate_for_project!(project, attributes={})
  26. issue = Issue.spawn(attributes) do |issue|
  27. issue.project = project
  28. issue.tracker = project.trackers.first unless project.trackers.empty?
  29. yield issue if block_given?
  30. end
  31. issue.save!
  32. issue
  33. end
  34. end