A library for setting up Ruby objects as test data.
Go to file
Joshua Clayton 0c165ec993 Add DefinitionHierarchy to handle inheritance of some definition attributes
This includes #callbacks, #constructor, and #to_create. The reasoning
behind this is that we were mimicing an inheritance chain via methods;
now, we actually generate classes, which Factory maintains, who inherit
from their parent's hierarchy. We build the hierarchy during compilation
to conditionally define methods based on whether what we're dealing
with from the definition is actually meaningful. The base class
(DefinitionHierarchy) uses the defaults (an empty array for #callbacks
and the global #to_create and #constructor) so once we hit the top
level, if the definition doesn't set any overrides, we have a list of
sensible values.
2012-07-11 23:05:16 -04:00
features Clean up SimpleCov usage 2012-04-23 21:50:39 -05:00
gemfiles Bump version to 3.5.0 2012-06-22 17:00:29 -04:00
lib Add DefinitionHierarchy to handle inheritance of some definition attributes 2012-07-11 23:05:16 -04:00
spec Allow factories with traits to be used in associations 2012-06-29 11:06:08 -04:00
.autotest Remove whitespace [Gun.io WhitespaceBot] 2011-10-21 13:40:41 -04:00
.gitignore Ignore bin dir from bundler 2012-03-09 10:38:38 -05:00
.rspec Use rspec2 2010-11-11 15:54:14 -06:00
.simplecov Clean up SimpleCov usage 2012-04-23 21:50:39 -05:00
.travis.yml Remove 1.8.x support 2012-03-16 16:43:21 -04:00
.yardopts Converted the contribution guidelines; updates to readme 2011-02-07 17:52:28 -05:00
Appraisals Fix Appraisal dependencies and get suite green 2012-05-03 00:36:58 -04:00
CONTRIBUTION_GUIDELINES.md http => https 2012-01-12 21:23:33 +01:00
GETTING_STARTED.md Don't actually advocate using Faker to generate test data 2012-07-06 22:57:11 -04:00
Gemfile Update gemspec to reflect proper dependencies and add Rails 3.1 coverage 2011-09-02 11:03:58 -04:00
Gemfile.lock Bump version to 3.5.0 2012-06-22 17:00:29 -04:00
LICENSE Added a license file 2008-06-01 11:27:59 -07:00
NEWS Bump version to 3.5.0 2012-06-22 17:00:29 -04:00
README.md [#324] Add supported Ruby versions to README 2012-03-23 17:14:13 -04:00
Rakefile Remove 1.8.x support 2012-03-16 16:43:21 -04:00
cucumber.yml Fixed issues with some attributes being skipped and added support for linked associations in step definitions 2009-09-15 16:56:20 -04:00
factory_girl.gemspec Update appraisal 2012-04-06 15:49:08 -04:00

README.md

factory_girl Build Status Dependency Status

factory_girl is a fixtures replacement with a straightforward definition syntax, support for multiple build strategies (saved instances, unsaved instances, attribute hashes, and stubbed objects), and support for multiple factories for the same class (user, admin_user, and so on), including factory inheritance.

If you want to use factory_girl with Rails, see factory_girl_rails.

Documentation

You should find the documentation for your version of factory_girl on Rubygems.

See GETTING_STARTED for information on defining and using factories.

Install

gem install factory_girl

or add the following line to Gemfile:

gem 'factory_girl'

and run bundle install from your shell.

Supported Ruby versions

The Factory Girl 3.x series supports Ruby 1.9.x.

For older versions of Ruby, please use the Factory Girl 2.x series.

More Information

Contributing

Please see the contribution guidelines.

Credits

factory_girl was written by Joe Ferris with contributions from several authors, including:

  • Alex Sharp
  • Eugene Bolshakov
  • Jon Yurek
  • Josh Nichols
  • Josh Owens
  • Nate Sutton
  • Josh Clayton
  • Thomas Walpole

The syntax layers are derived from software written by the following authors:

  • Pete Yandell
  • Rick Bradley
  • Yossef Mendelssohn

thoughtbot

factory_girl is maintained and funded by thoughtbot, inc

The names and logos for thoughtbot are trademarks of thoughtbot, inc.

License

factory_girl is Copyright © 2008-2011 Joe Ferris and thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.