This repository has been archived by the owner on Aug 5, 2022. It is now read-only.
forked from thoughtbot/factory_bot_rails
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'add_generators' of https://github.com/msgehard/factory_…
- Loading branch information
Showing
4 changed files
with
47 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
Feature: | ||
In order to easily generate factory files instead of fixture files when generating models | ||
As a user of Rails3 and factory_girl | ||
I would like to use factory_girl_rails generators. | ||
|
||
Scenario: The factory_girl_rails generators create a factory file | ||
for each model that I generate | ||
When I successfully run `bundle exec rails new testapp` | ||
And I cd to "testapp" | ||
And I add "factory_girl_rails" from this project as a dependency | ||
When I successfully run `bundle install` | ||
And I successfully run `bundle exec rails generate model User name:string --fixture-replacement=factory_girl` | ||
Then the output should contain "test/factories/users.rb" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
require 'rails/generators/named_base' | ||
|
||
module FactoryGirl | ||
module Generators | ||
class Base < Rails::Generators::NamedBase #:nodoc: | ||
def self.source_root | ||
@_factory_girl_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'factory_girl', generator_name, 'templates')) | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
require 'generators/factory_girl' | ||
|
||
module FactoryGirl | ||
module Generators | ||
class ModelGenerator < Base | ||
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type" | ||
class_option :dir, :type => :string, :default => "test/factories", :desc => "The directory where the factories should go" | ||
|
||
def create_fixture_file | ||
template 'fixtures.rb', File.join(options[:dir], "#{table_name}.rb") | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Read about factories at http://github.com/thoughtbot/factory_girl | ||
|
||
FactoryGirl.define do | ||
factory :<%= singular_name %> do | ||
<% for attribute in attributes -%> | ||
<%= attribute.name %> <%= attribute.default.inspect %> | ||
<% end -%> | ||
end | ||
end |