Installing
# Gemfile
gem 'machinist', '>= 2.0.0.beta2', group: 'test'
# ~$ bundle
# ~$ rails generate machinist:install
Building objects
User.make
# `make` builds it, and `make!` builds+saves it
User.make!
User.make! name: "David"
User.make!(:admin)
Defining blueprints
User.blueprint do
name { "User #{sn}" }
email { "user-#{sn}@example.com" }
end
User.blueprint(:admin) do
name { "Admin User #{sn}" }
admin { true }
end
Associations
Post.blueprint do
author { User.make }
comments(3) # Makes 3 comments (has_many / habtm)
author # autodetect (Assumes there's User.blueprint)
end
References