factory_girl 3.0.0 → 3.1.0
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/GETTING_STARTED.md +77 -52
- data/Gemfile.lock +10 -10
- data/{Changelog → NEWS} +7 -0
- data/README.md +7 -0
- data/factory_girl.gemspec +2 -2
- data/features/factory_girl_steps.feature +4 -0
- data/features/step_definitions/factory_girl_steps.rb +3 -3
- data/features/support/factories.rb +20 -0
- data/gemfiles/3.0.gemfile.lock +51 -48
- data/gemfiles/3.1.gemfile.lock +45 -51
- data/gemfiles/3.2.gemfile.lock +38 -42
- data/lib/factory_girl.rb +1 -1
- data/lib/factory_girl/definition_proxy.rb +2 -2
- data/lib/factory_girl/evaluator.rb +1 -2
- data/lib/factory_girl/sequence.rb +8 -5
- data/lib/factory_girl/step_definitions.rb +18 -10
- data/lib/factory_girl/strategy.rb +1 -0
- data/lib/factory_girl/strategy/attributes_for.rb +1 -0
- data/lib/factory_girl/strategy/create.rb +1 -0
- data/lib/factory_girl/strategy/null.rb +11 -0
- data/lib/factory_girl/syntax/default.rb +2 -2
- data/lib/factory_girl/syntax/vintage.rb +11 -9
- data/lib/factory_girl/version.rb +1 -1
- data/spec/acceptance/sequence_spec.rb +28 -0
- data/spec/acceptance/syntax/vintage_spec.rb +2 -0
- data/spec/factory_girl/definition_proxy_spec.rb +1 -1
- data/spec/factory_girl/registry_spec.rb +27 -6
- data/spec/factory_girl/sequence_spec.rb +20 -0
- data/spec/factory_girl/strategy/create_spec.rb +1 -1
- data/spec/support/shared_examples/strategy.rb +7 -6
- metadata +31 -30
data/lib/factory_girl.rb
CHANGED
@@ -108,8 +108,8 @@ module FactoryGirl
|
|
108
108
|
# end
|
109
109
|
#
|
110
110
|
# Except that no globally available sequence will be defined.
|
111
|
-
def sequence(name,
|
112
|
-
sequence = Sequence.new(name,
|
111
|
+
def sequence(name, *args, &block)
|
112
|
+
sequence = Sequence.new(name, *args, &block)
|
113
113
|
add_attribute(name) { sequence.next }
|
114
114
|
end
|
115
115
|
|
@@ -22,9 +22,8 @@ module FactoryGirl
|
|
22
22
|
@overrides = overrides
|
23
23
|
@cached_attributes = overrides
|
24
24
|
|
25
|
-
singleton = class << self; self end
|
26
25
|
@overrides.each do |name, value|
|
27
|
-
|
26
|
+
singleton_class.send :define_method, name, lambda { value }
|
28
27
|
end
|
29
28
|
|
30
29
|
@build_strategy.add_observer(CallbackRunner.new(self.class.callbacks, self))
|
@@ -5,10 +5,13 @@ module FactoryGirl
|
|
5
5
|
class Sequence
|
6
6
|
attr_reader :name
|
7
7
|
|
8
|
-
def initialize(name,
|
9
|
-
@name
|
10
|
-
@proc
|
11
|
-
|
8
|
+
def initialize(name, *args, &proc) #:nodoc:
|
9
|
+
@name = name
|
10
|
+
@proc = proc
|
11
|
+
|
12
|
+
options = args.extract_options!
|
13
|
+
@value = args.first || 1
|
14
|
+
@aliases = options[:aliases] || []
|
12
15
|
end
|
13
16
|
|
14
17
|
def next
|
@@ -18,7 +21,7 @@ module FactoryGirl
|
|
18
21
|
end
|
19
22
|
|
20
23
|
def names
|
21
|
-
[@name]
|
24
|
+
[@name] + @aliases
|
22
25
|
end
|
23
26
|
end
|
24
27
|
end
|
@@ -97,6 +97,16 @@ World(FactoryGirlStepHelpers)
|
|
97
97
|
FactoryGirl.factories.each do |factory|
|
98
98
|
factory.compile
|
99
99
|
factory.human_names.each do |human_name|
|
100
|
+
attribute_names_for_model = if factory.build_class.respond_to?(:attribute_names)
|
101
|
+
factory.build_class.attribute_names
|
102
|
+
elsif factory.build_class.respond_to?(:columns)
|
103
|
+
factory.build_class.columns.map do |column|
|
104
|
+
column.respond_to?(:name) ? column.name : column.to_s
|
105
|
+
end
|
106
|
+
else
|
107
|
+
[]
|
108
|
+
end
|
109
|
+
|
100
110
|
Given /^the following (?:#{human_name}|#{human_name.pluralize}) exists?:?$/i do |table|
|
101
111
|
table.hashes.each do |human_hash|
|
102
112
|
attributes = convert_human_hash_to_attribute_hash(human_hash, factory.associations)
|
@@ -112,17 +122,15 @@ FactoryGirl.factories.each do |factory|
|
|
112
122
|
FactoryGirl.create_list(factory.name, count.to_i)
|
113
123
|
end
|
114
124
|
|
115
|
-
|
116
|
-
|
117
|
-
name = column.respond_to?(:name) ? column.name : column.to_s
|
118
|
-
human_column_name = name.downcase.gsub('_', ' ')
|
119
|
-
Given /^an? #{human_name} exists with an? #{human_column_name} of "([^"]*)"$/i do |value|
|
120
|
-
FactoryGirl.create(factory.name, name => value)
|
121
|
-
end
|
125
|
+
attribute_names_for_model.each do |attribute_name|
|
126
|
+
human_column_name = attribute_name.downcase.gsub('_', ' ')
|
122
127
|
|
123
|
-
|
124
|
-
|
125
|
-
|
128
|
+
Given /^an? #{human_name} exists with an? #{human_column_name} of "([^"]*)"$/i do |value|
|
129
|
+
FactoryGirl.create(factory.name, attribute_name => value)
|
130
|
+
end
|
131
|
+
|
132
|
+
Given /^(\d+) #{human_name.pluralize} exist with an? #{human_column_name} of "([^"]*)"$/i do |count, value|
|
133
|
+
FactoryGirl.create_list(factory.name, count.to_i, attribute_name => value)
|
126
134
|
end
|
127
135
|
end
|
128
136
|
end
|
@@ -8,6 +8,7 @@ module FactoryGirl
|
|
8
8
|
def result(attribute_assigner, to_create)
|
9
9
|
attribute_assigner.object.tap do |result_instance|
|
10
10
|
run_callbacks(:after_build, result_instance)
|
11
|
+
run_callbacks(:before_create, result_instance)
|
11
12
|
to_create[result_instance]
|
12
13
|
run_callbacks(:after_create, result_instance)
|
13
14
|
end
|
@@ -29,8 +29,8 @@ module FactoryGirl
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
def sequence(name,
|
33
|
-
FactoryGirl.register_sequence(Sequence.new(name,
|
32
|
+
def sequence(name, *args, &block)
|
33
|
+
FactoryGirl.register_sequence(Sequence.new(name, *args, &block))
|
34
34
|
end
|
35
35
|
|
36
36
|
def trait(name, &block)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require "active_support/deprecation"
|
2
|
+
|
1
3
|
module FactoryGirl
|
2
4
|
module Syntax
|
3
5
|
module Vintage
|
@@ -21,7 +23,7 @@ module FactoryGirl
|
|
21
23
|
# Yields: +Factory+
|
22
24
|
# The newly created factory.
|
23
25
|
def self.define(name, options = {})
|
24
|
-
|
26
|
+
ActiveSupport::Deprecation.warn "Factory.define is deprecated; use the FactoryGirl.define block syntax to declare your factory.", caller
|
25
27
|
factory = FactoryGirl::Factory.new(name, options)
|
26
28
|
proxy = FactoryGirl::DefinitionProxy.new(factory)
|
27
29
|
yield(proxy)
|
@@ -44,7 +46,7 @@ module FactoryGirl
|
|
44
46
|
#
|
45
47
|
# Factory.sequence(:email) {|n| "somebody_#{n}@example.com" }
|
46
48
|
def self.sequence(name, start_value = 1, &block)
|
47
|
-
|
49
|
+
ActiveSupport::Deprecation.warn "Factory.sequence is deprecated; use the FactoryGirl.define block syntax to declare your sequence.", caller
|
48
50
|
FactoryGirl.register_sequence(Sequence.new(name, start_value, &block))
|
49
51
|
end
|
50
52
|
|
@@ -57,7 +59,7 @@ module FactoryGirl
|
|
57
59
|
# Returns:
|
58
60
|
# The next value in the sequence. (Object)
|
59
61
|
def self.next(name)
|
60
|
-
|
62
|
+
ActiveSupport::Deprecation.warn "Factory.next is deprecated; use FactoryGirl.generate instead.", caller
|
61
63
|
FactoryGirl.generate(name)
|
62
64
|
end
|
63
65
|
|
@@ -86,31 +88,31 @@ module FactoryGirl
|
|
86
88
|
# # will be used instead.
|
87
89
|
# Factory(:post, user_id: 1)
|
88
90
|
def self.alias(pattern, replace)
|
89
|
-
|
91
|
+
ActiveSupport::Deprecation.warn "Factory.alias is deprecated; use FactoryGirl.aliases << [pattern, replace] instead.", caller
|
90
92
|
FactoryGirl.aliases << [pattern, replace]
|
91
93
|
end
|
92
94
|
|
93
95
|
# Alias for FactoryGirl.attributes_for
|
94
96
|
def self.attributes_for(name, overrides = {})
|
95
|
-
|
97
|
+
ActiveSupport::Deprecation.warn "Factory.attributes_for is deprecated; use FactoryGirl.attributes_for instead.", caller
|
96
98
|
FactoryGirl.attributes_for(name, overrides)
|
97
99
|
end
|
98
100
|
|
99
101
|
# Alias for FactoryGirl.build
|
100
102
|
def self.build(name, overrides = {})
|
101
|
-
|
103
|
+
ActiveSupport::Deprecation.warn "Factory.build is deprecated; use FactoryGirl.build instead.", caller
|
102
104
|
FactoryGirl.build(name, overrides)
|
103
105
|
end
|
104
106
|
|
105
107
|
# Alias for FactoryGirl.create
|
106
108
|
def self.create(name, overrides = {})
|
107
|
-
|
109
|
+
ActiveSupport::Deprecation.warn "Factory.create is deprecated; use FactoryGirl.create instead.", caller
|
108
110
|
FactoryGirl.create(name, overrides)
|
109
111
|
end
|
110
112
|
|
111
113
|
# Alias for FactoryGirl.build_stubbed.
|
112
114
|
def self.stub(name, overrides = {})
|
113
|
-
|
115
|
+
ActiveSupport::Deprecation.warn "Factory.stub is deprecated; use FactoryGirl.build_stubbed instead.", caller
|
114
116
|
FactoryGirl.build_stubbed(name, overrides)
|
115
117
|
end
|
116
118
|
end
|
@@ -120,7 +122,7 @@ module FactoryGirl
|
|
120
122
|
# Example:
|
121
123
|
# Factory(:user, name: 'Joe')
|
122
124
|
def Factory(name, attrs = {})
|
123
|
-
|
125
|
+
ActiveSupport::Deprecation.warn "Factory(:name) is deprecated; use FactoryGirl.create(:name) instead.", caller
|
124
126
|
FactoryGirl.create(name, attrs)
|
125
127
|
end
|
126
128
|
end
|
data/lib/factory_girl/version.rb
CHANGED
@@ -30,4 +30,32 @@ describe "sequences" do
|
|
30
30
|
another_value.should == 2
|
31
31
|
first_value.should_not == another_value
|
32
32
|
end
|
33
|
+
|
34
|
+
it "generates aliases for the sequence that reference the same block" do
|
35
|
+
FactoryGirl.define do
|
36
|
+
sequence(:size, aliases: [:count, :length]) {|n| "called-#{n}" }
|
37
|
+
end
|
38
|
+
|
39
|
+
first_value = generate(:size)
|
40
|
+
second_value = generate(:count)
|
41
|
+
third_value = generate(:length)
|
42
|
+
|
43
|
+
first_value.should == "called-1"
|
44
|
+
second_value.should == "called-2"
|
45
|
+
third_value.should == "called-3"
|
46
|
+
end
|
47
|
+
|
48
|
+
it "generates aliases for the sequence that reference the same block and retains value" do
|
49
|
+
FactoryGirl.define do
|
50
|
+
sequence(:size, "a", aliases: [:count, :length]) {|n| "called-#{n}" }
|
51
|
+
end
|
52
|
+
|
53
|
+
first_value = generate(:size)
|
54
|
+
second_value = generate(:count)
|
55
|
+
third_value = generate(:length)
|
56
|
+
|
57
|
+
first_value.should == "called-a"
|
58
|
+
second_value.should == "called-b"
|
59
|
+
third_value.should == "called-c"
|
60
|
+
end
|
33
61
|
end
|
@@ -91,7 +91,7 @@ describe FactoryGirl::DefinitionProxy, "#sequence" do
|
|
91
91
|
|
92
92
|
it "creates a new sequence starting at 1" do
|
93
93
|
proxy.sequence(:great)
|
94
|
-
FactoryGirl::Sequence.should have_received(:new).with(:great
|
94
|
+
FactoryGirl::Sequence.should have_received(:new).with(:great)
|
95
95
|
end
|
96
96
|
|
97
97
|
it "creates a new sequence with an overridden starting vaue" do
|
@@ -2,7 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe FactoryGirl::Registry do
|
4
4
|
let(:aliases) { [:thing, :widget] }
|
5
|
-
let(:sequence) { FactoryGirl::Sequence.new(:email) { |n| "somebody#{n}@example.com" } }
|
6
5
|
let(:factory) { FactoryGirl::Factory.new(:object) }
|
7
6
|
let(:other_factory) { FactoryGirl::Factory.new(:string) }
|
8
7
|
let(:factory_with_aliases) { FactoryGirl::Factory.new(:string, aliases: aliases) }
|
@@ -56,11 +55,6 @@ describe FactoryGirl::Registry do
|
|
56
55
|
subject.to_a.should =~ [factory, factory_with_aliases]
|
57
56
|
end
|
58
57
|
|
59
|
-
it "registers an sequence" do
|
60
|
-
subject.add(sequence)
|
61
|
-
subject.find(:email).should == sequence
|
62
|
-
end
|
63
|
-
|
64
58
|
it "doesn't allow a duplicate name" do
|
65
59
|
expect { 2.times { subject.add(factory) } }.
|
66
60
|
to raise_error(FactoryGirl::DuplicateDefinitionError, "Factory already registered: object")
|
@@ -79,3 +73,30 @@ describe FactoryGirl::Registry do
|
|
79
73
|
subject.count.should be_zero
|
80
74
|
end
|
81
75
|
end
|
76
|
+
|
77
|
+
describe FactoryGirl::Registry, "with sequences" do
|
78
|
+
let(:aliases) { [:sender, :receiver] }
|
79
|
+
let(:sequence) { FactoryGirl::Sequence.new(:email) { |n| "somebody#{n}@example.com" } }
|
80
|
+
let(:sequence_with_aliases) { FactoryGirl::Sequence.new(:email, aliases: aliases) { |n| "someone_else#{n}@example.com" } }
|
81
|
+
let(:registry_name) { "Sequence" }
|
82
|
+
|
83
|
+
subject { FactoryGirl::Registry.new(registry_name) }
|
84
|
+
|
85
|
+
it "registers an sequence" do
|
86
|
+
subject.add(sequence)
|
87
|
+
subject.find(:email).should == sequence
|
88
|
+
end
|
89
|
+
|
90
|
+
it "registers a sequence with aliases" do
|
91
|
+
subject.add(sequence_with_aliases)
|
92
|
+
|
93
|
+
subject.find(:email).should == sequence_with_aliases
|
94
|
+
subject.find(:sender).should == sequence_with_aliases
|
95
|
+
subject.find(:receiver).should == sequence_with_aliases
|
96
|
+
end
|
97
|
+
|
98
|
+
it "doesn't allow a duplicate name" do
|
99
|
+
expect { 2.times { subject.add(sequence_with_aliases) } }.
|
100
|
+
to raise_error(FactoryGirl::DuplicateDefinitionError, "Sequence already registered: email")
|
101
|
+
end
|
102
|
+
end
|
@@ -25,6 +25,26 @@ describe FactoryGirl::Sequence do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
describe "a sequence with aliases using default value" do
|
29
|
+
subject { FactoryGirl::Sequence.new(:test, aliases: [:alias, :other]) { |n| "=#{n}" } }
|
30
|
+
its(:next) { should == "=1" }
|
31
|
+
|
32
|
+
describe "when incrementing" do
|
33
|
+
before { subject.next }
|
34
|
+
its(:next) { should == "=2" }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "a sequence with custom value and aliases" do
|
39
|
+
subject { FactoryGirl::Sequence.new(:test, 3, aliases: [:alias, :other]) { |n| "=#{n}" } }
|
40
|
+
its(:next) { should == "=3" }
|
41
|
+
|
42
|
+
describe "when incrementing" do
|
43
|
+
before { subject.next }
|
44
|
+
its(:next) { should == "=4" }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
28
48
|
describe "a basic sequence without a block" do
|
29
49
|
subject { FactoryGirl::Sequence.new(:name) }
|
30
50
|
its(:next) { should == 1 }
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe FactoryGirl::Strategy::Create do
|
4
4
|
it_should_behave_like "strategy with association support", FactoryGirl::Strategy::Create
|
5
|
-
it_should_behave_like "strategy with callbacks", :after_build, :after_create
|
5
|
+
it_should_behave_like "strategy with callbacks", :after_build, :before_create, :after_create
|
6
6
|
|
7
7
|
it "runs a custom create block" do
|
8
8
|
block_run = false
|
@@ -1,4 +1,5 @@
|
|
1
1
|
shared_examples_for "strategy without association support" do
|
2
|
+
let(:factory) { stub("associate_factory") }
|
2
3
|
let(:attribute) { FactoryGirl::Attribute::Association.new(:user, :user, {}) }
|
3
4
|
|
4
5
|
def association_named(name, overrides)
|
@@ -6,14 +7,14 @@ shared_examples_for "strategy without association support" do
|
|
6
7
|
subject.association(runner)
|
7
8
|
end
|
8
9
|
|
9
|
-
|
10
|
-
|
10
|
+
before do
|
11
|
+
FactoryGirl.stubs(factory_by_name: factory)
|
12
|
+
factory.stubs(:compile)
|
13
|
+
factory.stubs(:run)
|
11
14
|
end
|
12
15
|
|
13
|
-
it "
|
14
|
-
|
15
|
-
association_named(:awesome, {})
|
16
|
-
FactoryGirl.should have_received(:factory_by_name).never
|
16
|
+
it "returns nil when accessing an association" do
|
17
|
+
association_named(:user, {}).should be_nil
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: factory_girl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-04-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
17
|
-
requirement: &
|
17
|
+
requirement: &70215892807040 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 3.0.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70215892807040
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rspec
|
28
|
-
requirement: &
|
28
|
+
requirement: &70215892806560 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,21 +33,21 @@ dependencies:
|
|
33
33
|
version: '2.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70215892806560
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: cucumber
|
39
|
-
requirement: &
|
39
|
+
requirement: &70215892806060 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: 1.
|
44
|
+
version: '1.1'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70215892806060
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: timecop
|
50
|
-
requirement: &
|
50
|
+
requirement: &70215892805660 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70215892805660
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: simplecov
|
61
|
-
requirement: &
|
61
|
+
requirement: &70215892805160 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70215892805160
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: aruba
|
72
|
-
requirement: &
|
72
|
+
requirement: &70215892804720 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70215892804720
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: mocha
|
83
|
-
requirement: &
|
83
|
+
requirement: &70215893186120 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70215893186120
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: bourne
|
94
|
-
requirement: &
|
94
|
+
requirement: &70215893156440 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,21 +99,21 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *70215893156440
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: appraisal
|
105
|
-
requirement: &
|
105
|
+
requirement: &70215893134240 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: '0.4'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *70215893134240
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: sqlite3-ruby
|
116
|
-
requirement: &
|
116
|
+
requirement: &70215893110760 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *70215893110760
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: yard
|
127
|
-
requirement: &
|
127
|
+
requirement: &70215893076860 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ! '>='
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
version: '0'
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *70215893076860
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: bluecloth
|
138
|
-
requirement: &
|
138
|
+
requirement: &70215893049900 !ruby/object:Gem::Requirement
|
139
139
|
none: false
|
140
140
|
requirements:
|
141
141
|
- - ! '>='
|
@@ -143,7 +143,7 @@ dependencies:
|
|
143
143
|
version: '0'
|
144
144
|
type: :development
|
145
145
|
prerelease: false
|
146
|
-
version_requirements: *
|
146
|
+
version_requirements: *70215893049900
|
147
147
|
description: ! "factory_girl provides a framework and DSL for defining and\n using
|
148
148
|
factories - less error-prone, more explicit, and\n all-around
|
149
149
|
easier to work with than fixtures."
|
@@ -161,11 +161,11 @@ files:
|
|
161
161
|
- .yardopts
|
162
162
|
- Appraisals
|
163
163
|
- CONTRIBUTION_GUIDELINES.md
|
164
|
-
- Changelog
|
165
164
|
- GETTING_STARTED.md
|
166
165
|
- Gemfile
|
167
166
|
- Gemfile.lock
|
168
167
|
- LICENSE
|
168
|
+
- NEWS
|
169
169
|
- README.md
|
170
170
|
- Rakefile
|
171
171
|
- cucumber.yml
|
@@ -217,6 +217,7 @@ files:
|
|
217
217
|
- lib/factory_girl/strategy/attributes_for.rb
|
218
218
|
- lib/factory_girl/strategy/build.rb
|
219
219
|
- lib/factory_girl/strategy/create.rb
|
220
|
+
- lib/factory_girl/strategy/null.rb
|
220
221
|
- lib/factory_girl/strategy/stub.rb
|
221
222
|
- lib/factory_girl/strategy_calculator.rb
|
222
223
|
- lib/factory_girl/syntax.rb
|
@@ -312,7 +313,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
312
313
|
version: '0'
|
313
314
|
requirements: []
|
314
315
|
rubyforge_project:
|
315
|
-
rubygems_version: 1.8.
|
316
|
+
rubygems_version: 1.8.16
|
316
317
|
signing_key:
|
317
318
|
specification_version: 3
|
318
319
|
summary: factory_girl provides a framework and DSL for defining and using model instance
|