factory_girl 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +1 -2
- data/features/find_definitions.feature +21 -4
- data/features/step_definitions/factory_girl_steps.rb +24 -6
- data/features/support/test.db +0 -0
- data/lib/factory_girl/attribute.rb +11 -0
- data/lib/factory_girl/attribute/static.rb +4 -1
- data/lib/factory_girl/definition_proxy.rb +2 -0
- data/lib/factory_girl/factory.rb +3 -1
- data/lib/factory_girl/find_definitions.rb +4 -4
- data/lib/factory_girl/version.rb +1 -1
- data/spec/acceptance/attribute_aliases_spec.rb +25 -4
- data/spec/acceptance/parent_spec.rb +7 -5
- data/spec/factory_girl/attribute_spec.rb +9 -0
- data/spec/factory_girl/definition_proxy_spec.rb +12 -0
- data/spec/factory_girl/find_definitions_spec.rb +15 -15
- metadata +87 -92
data/README.md
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
factory_girl
|
2
|
-
============
|
1
|
+
# factory_girl [](http://travis-ci.org/thoughtbot/factory_girl)
|
3
2
|
|
4
3
|
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.
|
5
4
|
|
@@ -3,7 +3,7 @@ Feature: Factory girl can find factory definitions correctly
|
|
3
3
|
Given a file named "awesome_factories.rb" with:
|
4
4
|
"""
|
5
5
|
FactoryGirl.define do
|
6
|
-
factory :awesome_category, :
|
6
|
+
factory :awesome_category, :class => Category do
|
7
7
|
name "awesome!!!"
|
8
8
|
end
|
9
9
|
end
|
@@ -18,13 +18,13 @@ Feature: Factory girl can find factory definitions correctly
|
|
18
18
|
Given a file named "awesome_factories.rb" with:
|
19
19
|
"""
|
20
20
|
FactoryGirl.define do
|
21
|
-
factory :
|
21
|
+
factory :another_awesome_category, :class => Category do
|
22
22
|
name "awesome!!!"
|
23
23
|
end
|
24
24
|
end
|
25
25
|
"""
|
26
26
|
When "awesome_factories.rb" is added to Factory Girl's file definitions path as an absolute path
|
27
|
-
And I create a "
|
27
|
+
And I create a "another_awesome_category" instance from Factory Girl
|
28
28
|
Then I should find the following for the last category:
|
29
29
|
| name |
|
30
30
|
| awesome!!! |
|
@@ -33,7 +33,7 @@ Feature: Factory girl can find factory definitions correctly
|
|
33
33
|
Given a file named "nested/great_factories.rb" with:
|
34
34
|
"""
|
35
35
|
FactoryGirl.define do
|
36
|
-
factory :great_category, :
|
36
|
+
factory :great_category, :class => Category do
|
37
37
|
name "great!!!"
|
38
38
|
end
|
39
39
|
end
|
@@ -43,3 +43,20 @@ Feature: Factory girl can find factory definitions correctly
|
|
43
43
|
Then I should find the following for the last category:
|
44
44
|
| name |
|
45
45
|
| great!!! |
|
46
|
+
|
47
|
+
Scenario: Find definitions after clearing loaded factories
|
48
|
+
Given a file named "nested/swell_factories.rb" with:
|
49
|
+
"""
|
50
|
+
FactoryGirl.define do
|
51
|
+
factory :swell_category, :class => Category do
|
52
|
+
name "swell!!!"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
"""
|
56
|
+
When "nested" is added to Factory Girl's file definitions path
|
57
|
+
And I clear out the factories
|
58
|
+
And I find definitions
|
59
|
+
And I create a "swell_category" instance from Factory Girl
|
60
|
+
Then I should find the following for the last category:
|
61
|
+
| name |
|
62
|
+
| swell!!! |
|
@@ -1,16 +1,26 @@
|
|
1
|
+
module FactoryGirlDefinitionsHelper
|
2
|
+
def append_file_to_factory_girl_definitions_path(path_to_file)
|
3
|
+
FactoryGirl.definition_file_paths ||= []
|
4
|
+
FactoryGirl.definition_file_paths << path_to_file
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
World(FactoryGirlDefinitionsHelper)
|
9
|
+
|
1
10
|
When /^"([^"]*)" is added to Factory Girl's file definitions path$/ do |file_name|
|
2
11
|
new_factory_file = File.join(current_dir, file_name.gsub(".rb", ""))
|
3
|
-
|
4
|
-
|
5
|
-
|
12
|
+
|
13
|
+
append_file_to_factory_girl_definitions_path(new_factory_file)
|
14
|
+
|
15
|
+
When %{I find definitions}
|
6
16
|
end
|
7
17
|
|
8
18
|
When /^"([^"]*)" is added to Factory Girl's file definitions path as an absolute path$/ do |file_name|
|
9
19
|
new_factory_file = File.expand_path(File.join(current_dir, file_name.gsub(".rb", "")))
|
10
20
|
|
11
|
-
|
12
|
-
|
13
|
-
|
21
|
+
append_file_to_factory_girl_definitions_path(new_factory_file)
|
22
|
+
|
23
|
+
When %{I find definitions}
|
14
24
|
end
|
15
25
|
|
16
26
|
When /^I create a "([^"]*)" instance from Factory Girl$/ do |factory_name|
|
@@ -23,3 +33,11 @@ Given /^these super users exist:$/ do |table|
|
|
23
33
|
new_table = Cucumber::Ast::Table.new([headers] + rows)
|
24
34
|
Given %{the following person exists:}, new_table
|
25
35
|
end
|
36
|
+
|
37
|
+
When /^I clear out the factories$/ do
|
38
|
+
FactoryGirl.factories.clear
|
39
|
+
end
|
40
|
+
|
41
|
+
When /^I find definitions$/ do
|
42
|
+
FactoryGirl.find_definitions
|
43
|
+
end
|
data/features/support/test.db
CHANGED
Binary file
|
@@ -8,6 +8,7 @@ module FactoryGirl
|
|
8
8
|
end
|
9
9
|
|
10
10
|
class Attribute #:nodoc:
|
11
|
+
include Comparable
|
11
12
|
|
12
13
|
attr_reader :name
|
13
14
|
|
@@ -28,6 +29,16 @@ module FactoryGirl
|
|
28
29
|
def association?
|
29
30
|
false
|
30
31
|
end
|
32
|
+
|
33
|
+
def priority
|
34
|
+
1
|
35
|
+
end
|
36
|
+
|
37
|
+
def <=>(another)
|
38
|
+
return nil unless another.is_a? Attribute
|
39
|
+
self.priority <=> another.priority
|
40
|
+
end
|
41
|
+
|
31
42
|
end
|
32
43
|
|
33
44
|
end
|
@@ -79,6 +79,8 @@ module FactoryGirl
|
|
79
79
|
def method_missing(name, *args, &block)
|
80
80
|
if args.empty? && block.nil?
|
81
81
|
@factory.define_attribute(Attribute::Implicit.new(name))
|
82
|
+
elsif args.first.is_a?(Hash) && args.first.has_key?(:factory)
|
83
|
+
association(name, *args)
|
82
84
|
else
|
83
85
|
add_attribute(name, *args, &block)
|
84
86
|
end
|
data/lib/factory_girl/factory.rb
CHANGED
@@ -10,14 +10,14 @@ module FactoryGirl
|
|
10
10
|
self.definition_file_paths = %w(factories test/factories spec/factories)
|
11
11
|
|
12
12
|
def self.find_definitions #:nodoc:
|
13
|
-
definition_file_paths.
|
14
|
-
path = File.expand_path(path)
|
13
|
+
absolute_definition_file_paths = definition_file_paths.map {|path| File.expand_path(path) }
|
15
14
|
|
16
|
-
|
15
|
+
absolute_definition_file_paths.uniq.each do |path|
|
16
|
+
load("#{path}.rb") if File.exists?("#{path}.rb")
|
17
17
|
|
18
18
|
if File.directory? path
|
19
19
|
Dir[File.join(path, '**', '*.rb')].sort.each do |file|
|
20
|
-
|
20
|
+
load file
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
data/lib/factory_girl/version.rb
CHANGED
@@ -3,23 +3,44 @@ require 'acceptance/acceptance_helper'
|
|
3
3
|
|
4
4
|
describe "attribute aliases" do
|
5
5
|
before do
|
6
|
-
define_model('User')
|
6
|
+
define_model('User', :name => :string, :age => :integer)
|
7
7
|
|
8
8
|
define_model('Post', :user_id => :integer) do
|
9
9
|
belongs_to :user
|
10
10
|
end
|
11
11
|
|
12
12
|
FactoryGirl.define do
|
13
|
-
factory :user
|
13
|
+
factory :user do
|
14
|
+
factory :user_with_name do
|
15
|
+
name "John Doe"
|
16
|
+
end
|
17
|
+
end
|
14
18
|
|
15
19
|
factory :post do
|
16
20
|
user
|
17
21
|
end
|
22
|
+
|
23
|
+
factory :post_with_named_user, :class => Post do
|
24
|
+
user :factory => :user_with_name, :age => 20
|
25
|
+
end
|
18
26
|
end
|
19
27
|
end
|
20
28
|
|
21
|
-
|
22
|
-
FactoryGirl.build(:post, :user_id => 1)
|
29
|
+
context "assigning an association by foreign key" do
|
30
|
+
subject { FactoryGirl.build(:post, :user_id => 1) }
|
31
|
+
|
32
|
+
it "doesn't assign both an association and its foreign key" do
|
33
|
+
subject.user_id.should == 1
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context "assigning an association by passing factory" do
|
38
|
+
subject { FactoryGirl.create(:post_with_named_user).user }
|
39
|
+
|
40
|
+
it "assigns attributes correctly" do
|
41
|
+
subject.name.should == "John Doe"
|
42
|
+
subject.age.should == 20
|
43
|
+
end
|
23
44
|
end
|
24
45
|
end
|
25
46
|
|
@@ -8,11 +8,11 @@ describe "an instance generated by a factory that inherits from another factory"
|
|
8
8
|
FactoryGirl.define do
|
9
9
|
factory :user do
|
10
10
|
name "John"
|
11
|
-
email "
|
11
|
+
email { "#{name.downcase}@example.com" }
|
12
12
|
|
13
13
|
factory :admin do
|
14
|
+
name "admin"
|
14
15
|
admin true
|
15
|
-
email "admin@example.com"
|
16
16
|
end
|
17
17
|
|
18
18
|
factory :guest do
|
@@ -28,16 +28,18 @@ describe "an instance generated by a factory that inherits from another factory"
|
|
28
28
|
its(:email) { should == "john@example.com" }
|
29
29
|
end
|
30
30
|
|
31
|
-
describe "the child class" do
|
31
|
+
describe "the child class redefining parent's static method used by a dynamic method" do
|
32
32
|
subject { FactoryGirl.create(:admin) }
|
33
33
|
it { should be_kind_of(User) }
|
34
34
|
it { should be_admin }
|
35
|
-
its(:name) { should == "
|
35
|
+
its(:name) { should == "admin" }
|
36
36
|
its(:email) { should == "admin@example.com" }
|
37
37
|
end
|
38
38
|
|
39
|
-
describe "the child class
|
39
|
+
describe "the child class redefining parent's dynamic method" do
|
40
40
|
subject { FactoryGirl.create(:guest) }
|
41
|
+
it { should_not be_admin }
|
42
|
+
its(:name) { should == "John" }
|
41
43
|
its(:email) { should eql "John-guest@example.com" }
|
42
44
|
end
|
43
45
|
end
|
@@ -31,4 +31,13 @@ describe FactoryGirl::Attribute do
|
|
31
31
|
it "should convert names to symbols" do
|
32
32
|
FactoryGirl::Attribute.new('name').name.should == :name
|
33
33
|
end
|
34
|
+
|
35
|
+
it "should return nil when is compared with a non-attribute object" do
|
36
|
+
(@attr <=> "foo").should == nil
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should use priority to perform comparisons" do
|
40
|
+
attr2 = FactoryGirl::Attribute.new('name')
|
41
|
+
(@attr <=> attr2).should == 0
|
42
|
+
end
|
34
43
|
end
|
@@ -135,6 +135,18 @@ describe FactoryGirl::DefinitionProxy do
|
|
135
135
|
factory.attributes.should include(attr)
|
136
136
|
end
|
137
137
|
|
138
|
+
it "adds an association when passed an undefined method with a hash including :factory key" do
|
139
|
+
name = :author
|
140
|
+
factory_name = :user
|
141
|
+
overrides = { :first_name => 'Ben' }
|
142
|
+
args = { :factory => factory_name }.merge(overrides)
|
143
|
+
attr = 'attribute'
|
144
|
+
stub(attr).name { name }
|
145
|
+
mock(FactoryGirl::Attribute::Association).new(name, factory_name, overrides) { attr }
|
146
|
+
subject.send(name, args)
|
147
|
+
factory.attributes.should include(attr)
|
148
|
+
end
|
149
|
+
|
138
150
|
it "delegates to_create" do
|
139
151
|
result = 'expected'
|
140
152
|
mock(factory).to_create { result }
|
@@ -2,20 +2,20 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
share_examples_for "finds definitions" do
|
4
4
|
before do
|
5
|
-
stub(FactoryGirl).
|
5
|
+
stub(FactoryGirl).load
|
6
6
|
FactoryGirl.find_definitions
|
7
7
|
end
|
8
8
|
subject { FactoryGirl }
|
9
9
|
end
|
10
10
|
|
11
|
-
RSpec::Matchers.define :
|
11
|
+
RSpec::Matchers.define :load_definitions_from do |file|
|
12
12
|
match do |given|
|
13
|
-
@has_received = have_received.method_missing(:
|
13
|
+
@has_received = have_received.method_missing(:load, File.expand_path(file))
|
14
14
|
@has_received.matches?(given)
|
15
15
|
end
|
16
16
|
|
17
17
|
description do
|
18
|
-
"
|
18
|
+
"load definitions from #{file}"
|
19
19
|
end
|
20
20
|
|
21
21
|
failure_message_for_should do
|
@@ -47,7 +47,7 @@ describe "definition loading" do
|
|
47
47
|
describe "with factories.rb" do
|
48
48
|
in_directory_with_files 'factories.rb'
|
49
49
|
it_should_behave_like "finds definitions" do
|
50
|
-
it { should
|
50
|
+
it { should load_definitions_from('factories.rb') }
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -55,14 +55,14 @@ describe "definition loading" do
|
|
55
55
|
describe "with a factories file under #{dir}" do
|
56
56
|
in_directory_with_files File.join(dir, 'factories.rb')
|
57
57
|
it_should_behave_like "finds definitions" do
|
58
|
-
it { should
|
58
|
+
it { should load_definitions_from("#{dir}/factories.rb") }
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
62
|
describe "with a factories file under #{dir}/factories" do
|
63
63
|
in_directory_with_files File.join(dir, 'factories', 'post_factory.rb')
|
64
64
|
it_should_behave_like "finds definitions" do
|
65
|
-
it { should
|
65
|
+
it { should load_definitions_from("#{dir}/factories/post_factory.rb") }
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
@@ -70,8 +70,8 @@ describe "definition loading" do
|
|
70
70
|
in_directory_with_files File.join(dir, 'factories', 'post_factory.rb'),
|
71
71
|
File.join(dir, 'factories', 'person_factory.rb')
|
72
72
|
it_should_behave_like "finds definitions" do
|
73
|
-
it { should
|
74
|
-
it { should
|
73
|
+
it { should load_definitions_from("#{dir}/factories/post_factory.rb") }
|
74
|
+
it { should load_definitions_from("#{dir}/factories/person_factory.rb") }
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -80,7 +80,7 @@ describe "definition loading" do
|
|
80
80
|
File.join(dir, 'factories', 'a.rb')
|
81
81
|
it "should load the files in the right order" do
|
82
82
|
@loaded = []
|
83
|
-
stub(FactoryGirl).
|
83
|
+
stub(FactoryGirl).load { |a| @loaded << File.split(a)[-1] }
|
84
84
|
FactoryGirl.find_definitions
|
85
85
|
@loaded.should == ["a.rb", "b.rb"]
|
86
86
|
end
|
@@ -91,9 +91,9 @@ describe "definition loading" do
|
|
91
91
|
File.join(dir, 'factories', 'post_factory.rb'),
|
92
92
|
File.join(dir, 'factories', 'person_factory.rb')
|
93
93
|
it_should_behave_like "finds definitions" do
|
94
|
-
it { should
|
95
|
-
it { should
|
96
|
-
it { should
|
94
|
+
it { should load_definitions_from("#{dir}/factories.rb") }
|
95
|
+
it { should load_definitions_from("#{dir}/factories/post_factory.rb") }
|
96
|
+
it { should load_definitions_from("#{dir}/factories/person_factory.rb") }
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
@@ -101,8 +101,8 @@ describe "definition loading" do
|
|
101
101
|
in_directory_with_files File.join(dir, 'factories', 'subdirectory', 'post_factory.rb'),
|
102
102
|
File.join(dir, 'factories', 'subdirectory', 'person_factory.rb')
|
103
103
|
it_should_behave_like "finds definitions" do
|
104
|
-
it { should
|
105
|
-
it { should
|
104
|
+
it { should load_definitions_from("#{dir}/factories/subdirectory/post_factory.rb") }
|
105
|
+
it { should load_definitions_from("#{dir}/factories/subdirectory/person_factory.rb") }
|
106
106
|
end
|
107
107
|
end
|
108
108
|
end
|
metadata
CHANGED
@@ -1,117 +1,113 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: factory_girl
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.3
|
4
5
|
prerelease:
|
5
|
-
version: 2.0.2
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Joe Ferris
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-08-05 00:00:00.000000000 -04:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
16
|
name: rcov
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &2152633400 !ruby/object:Gem::Requirement
|
19
18
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
24
23
|
type: :development
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: rspec
|
28
24
|
prerelease: false
|
29
|
-
|
25
|
+
version_requirements: *2152633400
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rspec
|
28
|
+
requirement: &2152632980 !ruby/object:Gem::Requirement
|
30
29
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version:
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
35
34
|
type: :development
|
36
|
-
version_requirements: *id002
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: cucumber
|
39
35
|
prerelease: false
|
40
|
-
|
36
|
+
version_requirements: *2152632980
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: cucumber
|
39
|
+
requirement: &2152632560 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
46
45
|
type: :development
|
47
|
-
version_requirements: *id003
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: activerecord
|
50
46
|
prerelease: false
|
51
|
-
|
47
|
+
version_requirements: *2152632560
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: activerecord
|
50
|
+
requirement: &2152632040 !ruby/object:Gem::Requirement
|
52
51
|
none: false
|
53
|
-
requirements:
|
52
|
+
requirements:
|
54
53
|
- - ~>
|
55
|
-
- !ruby/object:Gem::Version
|
54
|
+
- !ruby/object:Gem::Version
|
56
55
|
version: 2.3.5
|
57
56
|
type: :development
|
58
|
-
version_requirements: *id004
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: activerecord
|
61
57
|
prerelease: false
|
62
|
-
|
58
|
+
version_requirements: *2152632040
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: activerecord
|
61
|
+
requirement: &2152631500 !ruby/object:Gem::Requirement
|
63
62
|
none: false
|
64
|
-
requirements:
|
63
|
+
requirements:
|
65
64
|
- - ~>
|
66
|
-
- !ruby/object:Gem::Version
|
65
|
+
- !ruby/object:Gem::Version
|
67
66
|
version: 3.0.0.beta3
|
68
67
|
type: :development
|
69
|
-
version_requirements: *id005
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rr
|
72
68
|
prerelease: false
|
73
|
-
|
69
|
+
version_requirements: *2152631500
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rr
|
72
|
+
requirement: &2152631080 !ruby/object:Gem::Requirement
|
74
73
|
none: false
|
75
|
-
requirements:
|
76
|
-
- -
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version:
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
79
78
|
type: :development
|
80
|
-
version_requirements: *id006
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: sqlite3
|
83
79
|
prerelease: false
|
84
|
-
|
80
|
+
version_requirements: *2152631080
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: sqlite3
|
83
|
+
requirement: &2152630620 !ruby/object:Gem::Requirement
|
85
84
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version:
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
90
89
|
type: :development
|
91
|
-
version_requirements: *id007
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
|
-
name: aruba
|
94
90
|
prerelease: false
|
95
|
-
|
91
|
+
version_requirements: *2152630620
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: aruba
|
94
|
+
requirement: &2152621520 !ruby/object:Gem::Requirement
|
96
95
|
none: false
|
97
|
-
requirements:
|
98
|
-
- -
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version:
|
96
|
+
requirements:
|
97
|
+
- - ! '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
101
100
|
type: :development
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
101
|
+
prerelease: false
|
102
|
+
version_requirements: *2152621520
|
103
|
+
description: ! "factory_girl provides a framework and DSL for defining and\n using
|
104
|
+
factories - less error-prone, more explicit, and\n all-around
|
105
|
+
easier to work with than fixtures."
|
107
106
|
email: jferris@thoughtbot.com
|
108
107
|
executables: []
|
109
|
-
|
110
108
|
extensions: []
|
111
|
-
|
112
109
|
extra_rdoc_files: []
|
113
|
-
|
114
|
-
files:
|
110
|
+
files:
|
115
111
|
- Appraisals
|
116
112
|
- Changelog
|
117
113
|
- CONTRIBUTION_GUIDELINES.md
|
@@ -199,34 +195,33 @@ files:
|
|
199
195
|
- features/support/env.rb
|
200
196
|
- features/support/factories.rb
|
201
197
|
- features/support/test.db
|
198
|
+
has_rdoc: true
|
202
199
|
homepage: https://github.com/thoughtbot/factory_girl
|
203
200
|
licenses: []
|
204
|
-
|
205
201
|
post_install_message:
|
206
202
|
rdoc_options: []
|
207
|
-
|
208
|
-
require_paths:
|
203
|
+
require_paths:
|
209
204
|
- lib
|
210
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
205
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
211
206
|
none: false
|
212
|
-
requirements:
|
213
|
-
- -
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version:
|
216
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
207
|
+
requirements:
|
208
|
+
- - ! '>='
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: '0'
|
211
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
212
|
none: false
|
218
|
-
requirements:
|
219
|
-
- -
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version:
|
213
|
+
requirements:
|
214
|
+
- - ! '>='
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
222
217
|
requirements: []
|
223
|
-
|
224
218
|
rubyforge_project:
|
225
|
-
rubygems_version: 1.
|
219
|
+
rubygems_version: 1.6.2
|
226
220
|
signing_key:
|
227
221
|
specification_version: 3
|
228
|
-
summary: factory_girl provides a framework and DSL for defining and using model instance
|
229
|
-
|
222
|
+
summary: factory_girl provides a framework and DSL for defining and using model instance
|
223
|
+
factories.
|
224
|
+
test_files:
|
230
225
|
- spec/acceptance/attribute_aliases_spec.rb
|
231
226
|
- spec/acceptance/attributes_for_spec.rb
|
232
227
|
- spec/acceptance/build_list_spec.rb
|