Skip to content

Instantly share code, notes, and snippets.

@kmayer
Last active December 14, 2015 02:59
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 kmayer/5017836 to your computer and use it in GitHub Desktop.
Save kmayer/5017836 to your computer and use it in GitHub Desktop.
Object Parental Unit
module ObjectCreationMethods
def new_user(attributes = {})
defaults = {
email: "user#{counter}@example.com",
password: "password",
}
User.new { |user| apply(user, defaults, overrides) }
end
def create_user(attributes = {})
new_user(attributes).tap(&:save!)
end
def new_bicycle(attributes = {})
...
end
def create_bicycle(attributes = {})
new_bicycle(attributes).tap(&:save!)
end
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment