factory_girl 2.0.0.beta1 → 2.0.0.beta2
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/Appraisals +12 -0
- data/{CONTRIBUTION_GUIDELINES.rdoc → CONTRIBUTION_GUIDELINES.md} +3 -3
- data/GETTING_STARTED.md +246 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +62 -0
- data/README.md +64 -0
- data/Rakefile +15 -30
- data/features/factory_girl_steps.feature +26 -0
- data/features/step_definitions/database_steps.rb +2 -0
- data/features/support/env.rb +0 -9
- data/features/support/factories.rb +15 -0
- data/features/support/test.db +0 -0
- data/lib/factory_girl.rb +2 -0
- data/lib/factory_girl/definition_proxy.rb +10 -43
- data/lib/factory_girl/factory.rb +48 -17
- data/lib/factory_girl/proxy.rb +3 -3
- data/lib/factory_girl/proxy/attributes_for.rb +1 -1
- data/lib/factory_girl/proxy/build.rb +3 -3
- data/lib/factory_girl/proxy/create.rb +6 -2
- data/lib/factory_girl/proxy/stub.rb +3 -3
- data/lib/factory_girl/registry.rb +59 -0
- data/lib/factory_girl/sequence.rb +23 -9
- data/lib/factory_girl/step_definitions.rb +16 -9
- data/lib/factory_girl/syntax/blueprint.rb +2 -2
- data/lib/factory_girl/syntax/default.rb +5 -3
- data/lib/factory_girl/syntax/generate.rb +6 -6
- data/lib/factory_girl/syntax/make.rb +2 -2
- data/lib/factory_girl/syntax/methods.rb +75 -0
- data/lib/factory_girl/syntax/sham.rb +2 -2
- data/lib/factory_girl/syntax/vintage.rb +16 -79
- data/lib/factory_girl/version.rb +1 -1
- data/spec/acceptance/acceptance_helper.rb +7 -12
- data/spec/acceptance/attribute_aliases_spec.rb +26 -0
- data/spec/acceptance/attributes_for_spec.rb +48 -0
- data/spec/acceptance/build_spec.rb +35 -0
- data/spec/acceptance/build_stubbed_spec.rb +79 -0
- data/spec/acceptance/callbacks_spec.rb +42 -0
- data/spec/acceptance/create_spec.rb +67 -0
- data/spec/acceptance/default_strategy_spec.rb +27 -0
- data/spec/acceptance/definition_spec.rb +28 -0
- data/spec/acceptance/parent_spec.rb +39 -0
- data/spec/acceptance/sequence_spec.rb +32 -0
- data/spec/acceptance/syntax/blueprint_spec.rb +7 -5
- data/spec/acceptance/syntax/generate_spec.rb +10 -4
- data/spec/acceptance/syntax/make_spec.rb +7 -4
- data/spec/acceptance/syntax/sham_spec.rb +15 -8
- data/spec/acceptance/syntax/vintage_spec.rb +57 -17
- data/spec/factory_girl/attribute/dynamic_spec.rb +1 -1
- data/spec/factory_girl/definition_proxy_spec.rb +13 -11
- data/spec/factory_girl/factory_spec.rb +29 -52
- data/spec/factory_girl/find_definitions_spec.rb +34 -23
- data/spec/factory_girl/proxy/attributes_for_spec.rb +6 -6
- data/spec/factory_girl/proxy/build_spec.rb +4 -4
- data/spec/factory_girl/proxy/create_spec.rb +11 -3
- data/spec/factory_girl/proxy/stub_spec.rb +6 -6
- data/spec/factory_girl/proxy_spec.rb +1 -1
- data/spec/factory_girl/registry_spec.rb +92 -0
- data/spec/factory_girl/sequence_spec.rb +65 -8
- data/spec/spec_helper.rb +75 -29
- metadata +66 -43
- data/README.rdoc +0 -282
- data/spec/acceptance/acceptance_spec.rb +0 -288
- data/spec/acceptance/models.rb +0 -48
@@ -3,26 +3,40 @@ module FactoryGirl
|
|
3
3
|
# Raised when calling Factory.sequence from a dynamic attribute block
|
4
4
|
class SequenceAbuseError < StandardError; end
|
5
5
|
|
6
|
-
# Sequences are defined using
|
7
|
-
# using next.
|
6
|
+
# Sequences are defined using sequence within a FactoryGirl.define block.
|
7
|
+
# Sequence values are generated using next.
|
8
8
|
class Sequence
|
9
|
-
|
10
|
-
|
9
|
+
def initialize(name, value = 1, &proc) #:nodoc:
|
10
|
+
@name = name
|
11
11
|
@proc = proc
|
12
12
|
@value = value || 1
|
13
13
|
end
|
14
14
|
|
15
15
|
# Returns the next value for this sequence
|
16
|
-
def
|
17
|
-
@proc.call(@value)
|
16
|
+
def run(proxy_class = nil, overrides = {})
|
17
|
+
@proc ? @proc.call(@value) : @value
|
18
18
|
ensure
|
19
19
|
@value = @value.next
|
20
20
|
end
|
21
21
|
|
22
|
+
def next
|
23
|
+
puts "WARNING: FactoryGirl::Sequence#next is deprecated."
|
24
|
+
puts "Use #run instead."
|
25
|
+
run
|
26
|
+
end
|
27
|
+
|
28
|
+
def default_strategy
|
29
|
+
:create
|
30
|
+
end
|
31
|
+
|
32
|
+
def names
|
33
|
+
[@name]
|
34
|
+
end
|
22
35
|
end
|
23
36
|
|
24
|
-
|
25
|
-
|
37
|
+
def self.sequences
|
38
|
+
puts "WARNING: FactoryGirl.sequences is deprecated."
|
39
|
+
puts "Use FactoryGirl.registry instead."
|
40
|
+
registry
|
26
41
|
end
|
27
|
-
self.sequences = {}
|
28
42
|
end
|
@@ -1,12 +1,18 @@
|
|
1
1
|
module FactoryGirlStepHelpers
|
2
|
+
|
2
3
|
def convert_association_string_to_instance(factory_name, assignment)
|
3
4
|
attribute, value = assignment.split(':', 2)
|
4
5
|
return if value.blank?
|
5
|
-
|
6
|
-
|
6
|
+
factory = FactoryGirl.find(factory_name)
|
7
|
+
attributes = convert_human_hash_to_attribute_hash({attribute => value.strip}, factory.associations)
|
8
|
+
attributes_find = {}
|
9
|
+
attributes.each do |k, v|
|
10
|
+
k = "#{k}_id" if v.is_a? ActiveRecord::Base
|
11
|
+
attributes_find[k] = v
|
12
|
+
end
|
7
13
|
model_class = factory.build_class
|
8
|
-
model_class.find(:first, :conditions =>
|
9
|
-
|
14
|
+
model_class.find(:first, :conditions => attributes_find) or
|
15
|
+
FactoryGirl.create(factory_name, attributes)
|
10
16
|
end
|
11
17
|
|
12
18
|
def convert_human_hash_to_attribute_hash(human_hash, associations = [])
|
@@ -22,7 +28,7 @@ end
|
|
22
28
|
|
23
29
|
World(FactoryGirlStepHelpers)
|
24
30
|
|
25
|
-
FactoryGirl.
|
31
|
+
FactoryGirl.registry.each do |name, factory|
|
26
32
|
Given /^the following (?:#{factory.human_name}|#{factory.human_name.pluralize}) exists?:$/ do |table|
|
27
33
|
table.hashes.each do |human_hash|
|
28
34
|
attributes = convert_human_hash_to_attribute_hash(human_hash, factory.associations)
|
@@ -31,23 +37,24 @@ FactoryGirl.factories.values.each do |factory|
|
|
31
37
|
end
|
32
38
|
|
33
39
|
Given /^an? #{factory.human_name} exists$/ do
|
34
|
-
|
40
|
+
FactoryGirl.create(factory.name)
|
35
41
|
end
|
36
42
|
|
37
43
|
Given /^(\d+) #{factory.human_name.pluralize} exist$/ do |count|
|
38
|
-
count.to_i.times {
|
44
|
+
count.to_i.times { FactoryGirl.create(factory.name) }
|
39
45
|
end
|
40
46
|
|
41
47
|
if factory.build_class.respond_to?(:columns)
|
42
48
|
factory.build_class.columns.each do |column|
|
43
49
|
human_column_name = column.name.downcase.gsub('_', ' ')
|
44
50
|
Given /^an? #{factory.human_name} exists with an? #{human_column_name} of "([^"]*)"$/i do |value|
|
45
|
-
|
51
|
+
FactoryGirl.create(factory.name, column.name => value)
|
46
52
|
end
|
47
53
|
|
48
54
|
Given /^(\d+) #{factory.human_name.pluralize} exist with an? #{human_column_name} of "([^"]*)"$/i do |count, value|
|
49
|
-
count.to_i.times {
|
55
|
+
count.to_i.times { FactoryGirl.create(factory.name, column.name => value) }
|
50
56
|
end
|
51
57
|
end
|
52
58
|
end
|
53
59
|
end
|
60
|
+
|
@@ -13,7 +13,7 @@ module FactoryGirl
|
|
13
13
|
# email { 'billy@bob.example.com' }
|
14
14
|
# end
|
15
15
|
#
|
16
|
-
#
|
16
|
+
# FactoryGirl.create(:user, :name => 'Johnny')
|
17
17
|
#
|
18
18
|
# This syntax was derived from Pete Yandell's machinist.
|
19
19
|
module Blueprint
|
@@ -29,7 +29,7 @@ module FactoryGirl
|
|
29
29
|
instance = Factory.new(name.underscore, :class => self)
|
30
30
|
proxy = FactoryGirl::DefinitionProxy.new(instance)
|
31
31
|
proxy.instance_eval(&block)
|
32
|
-
FactoryGirl.
|
32
|
+
FactoryGirl.register(instance)
|
33
33
|
end
|
34
34
|
|
35
35
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module FactoryGirl
|
2
2
|
module Syntax
|
3
3
|
module Default
|
4
|
+
include Methods
|
5
|
+
|
4
6
|
def define(&block)
|
5
7
|
DSL.run(block)
|
6
8
|
end
|
@@ -15,13 +17,13 @@ module FactoryGirl
|
|
15
17
|
proxy = FactoryGirl::DefinitionProxy.new(factory)
|
16
18
|
proxy.instance_eval(&block)
|
17
19
|
if parent = options.delete(:parent)
|
18
|
-
factory.inherit_from(FactoryGirl.
|
20
|
+
factory.inherit_from(FactoryGirl.find(parent))
|
19
21
|
end
|
20
|
-
FactoryGirl.
|
22
|
+
FactoryGirl.register(factory)
|
21
23
|
end
|
22
24
|
|
23
25
|
def sequence(name, start_value = 1, &block)
|
24
|
-
FactoryGirl.
|
26
|
+
FactoryGirl.register(Sequence.new(name, start_value, &block))
|
25
27
|
end
|
26
28
|
end
|
27
29
|
end
|
@@ -15,14 +15,14 @@ module FactoryGirl
|
|
15
15
|
# end
|
16
16
|
#
|
17
17
|
# # Creates a saved instance without raising (same as saving the result
|
18
|
-
# # of
|
18
|
+
# # of FactoryGirl.build)
|
19
19
|
# User.generate(:name => 'Johnny')
|
20
20
|
#
|
21
21
|
# # Creates a saved instance and raises when invalid (same as
|
22
|
-
# #
|
22
|
+
# # FactoryGirl.create)
|
23
23
|
# User.generate!
|
24
24
|
#
|
25
|
-
# # Creates an unsaved instance (same as
|
25
|
+
# # Creates an unsaved instance (same as FactoryGirl.build)
|
26
26
|
# User.spawn
|
27
27
|
#
|
28
28
|
# # Creates an instance and yields it to the passed block
|
@@ -42,7 +42,7 @@ module FactoryGirl
|
|
42
42
|
module ClassMethods #:nodoc:
|
43
43
|
|
44
44
|
def generate(overrides = {}, &block)
|
45
|
-
factory = FactoryGirl.
|
45
|
+
factory = FactoryGirl.find(name.underscore)
|
46
46
|
instance = factory.run(Proxy::Build, overrides)
|
47
47
|
instance.save
|
48
48
|
yield(instance) if block_given?
|
@@ -50,14 +50,14 @@ module FactoryGirl
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def generate!(overrides = {}, &block)
|
53
|
-
factory = FactoryGirl.
|
53
|
+
factory = FactoryGirl.find(name.underscore)
|
54
54
|
instance = factory.run(Proxy::Create, overrides)
|
55
55
|
yield(instance) if block_given?
|
56
56
|
instance
|
57
57
|
end
|
58
58
|
|
59
59
|
def spawn(overrides = {}, &block)
|
60
|
-
factory = FactoryGirl.
|
60
|
+
factory = FactoryGirl.find(name.underscore)
|
61
61
|
instance = factory.run(Proxy::Build, overrides)
|
62
62
|
yield(instance) if block_given?
|
63
63
|
instance
|
@@ -2,7 +2,7 @@ module FactoryGirl
|
|
2
2
|
module Syntax
|
3
3
|
|
4
4
|
# Extends ActiveRecord::Base to provide a make class method, which is a
|
5
|
-
# shortcut for
|
5
|
+
# shortcut for FactoryGirl.create.
|
6
6
|
#
|
7
7
|
# Usage:
|
8
8
|
#
|
@@ -28,7 +28,7 @@ module FactoryGirl
|
|
28
28
|
module ClassMethods #:nodoc:
|
29
29
|
|
30
30
|
def make(overrides = {})
|
31
|
-
FactoryGirl.
|
31
|
+
FactoryGirl.find(name.underscore).run(Proxy::Create, overrides)
|
32
32
|
end
|
33
33
|
|
34
34
|
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
module FactoryGirl
|
2
|
+
module Syntax
|
3
|
+
module Methods
|
4
|
+
# Generates and returns a Hash of attributes from this factory. Attributes
|
5
|
+
# can be individually overridden by passing in a Hash of attribute => value
|
6
|
+
# pairs.
|
7
|
+
#
|
8
|
+
# Arguments:
|
9
|
+
# * name: +Symbol+ or +String+
|
10
|
+
# The name of the factory that should be used.
|
11
|
+
# * overrides: +Hash+
|
12
|
+
# Attributes to overwrite for this set.
|
13
|
+
#
|
14
|
+
# Returns: +Hash+
|
15
|
+
# A set of attributes that can be used to build an instance of the class
|
16
|
+
# this factory generates.
|
17
|
+
def attributes_for(name, overrides = {})
|
18
|
+
FactoryGirl.find(name).run(Proxy::AttributesFor, overrides)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Generates and returns an instance from this factory. Attributes can be
|
22
|
+
# individually overridden by passing in a Hash of attribute => value pairs.
|
23
|
+
#
|
24
|
+
# Arguments:
|
25
|
+
# * name: +Symbol+ or +String+
|
26
|
+
# The name of the factory that should be used.
|
27
|
+
# * overrides: +Hash+
|
28
|
+
# Attributes to overwrite for this instance.
|
29
|
+
#
|
30
|
+
# Returns: +Object+
|
31
|
+
# An instance of the class this factory generates, with generated attributes
|
32
|
+
# assigned.
|
33
|
+
def build(name, overrides = {})
|
34
|
+
FactoryGirl.find(name).run(Proxy::Build, overrides)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Generates, saves, and returns an instance from this factory. Attributes can
|
38
|
+
# be individually overridden by passing in a Hash of attribute => value
|
39
|
+
# pairs.
|
40
|
+
#
|
41
|
+
# Instances are saved using the +save!+ method, so ActiveRecord models will
|
42
|
+
# raise ActiveRecord::RecordInvalid exceptions for invalid attribute sets.
|
43
|
+
#
|
44
|
+
# Arguments:
|
45
|
+
# * name: +Symbol+ or +String+
|
46
|
+
# The name of the factory that should be used.
|
47
|
+
# * overrides: +Hash+
|
48
|
+
# Attributes to overwrite for this instance.
|
49
|
+
#
|
50
|
+
# Returns: +Object+
|
51
|
+
# A saved instance of the class this factory generates, with generated
|
52
|
+
# attributes assigned.
|
53
|
+
def create(name, overrides = {})
|
54
|
+
FactoryGirl.find(name).run(Proxy::Create, overrides)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Generates and returns an object with all attributes from this factory
|
58
|
+
# stubbed out. Attributes can be individually overridden by passing in a Hash
|
59
|
+
# of attribute => value pairs.
|
60
|
+
#
|
61
|
+
# Arguments:
|
62
|
+
# * name: +Symbol+ or +String+
|
63
|
+
# The name of the factory that should be used.
|
64
|
+
# * overrides: +Hash+
|
65
|
+
# Attributes to overwrite for this instance.
|
66
|
+
#
|
67
|
+
# Returns: +Object+
|
68
|
+
# An object with generated attributes stubbed out.
|
69
|
+
def build_stubbed(name, overrides = {})
|
70
|
+
FactoryGirl.find(name).run(Proxy::Stub, overrides)
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -27,9 +27,9 @@ module FactoryGirl
|
|
27
27
|
def self.method_missing(name, *args, &block)
|
28
28
|
if block_given?
|
29
29
|
start_value = args.first
|
30
|
-
FactoryGirl.
|
30
|
+
FactoryGirl.register(Sequence.new(name, start_value || 1, &block))
|
31
31
|
else
|
32
|
-
FactoryGirl.
|
32
|
+
FactoryGirl.find(name).run
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -2,6 +2,8 @@ module FactoryGirl
|
|
2
2
|
module Syntax
|
3
3
|
module Vintage
|
4
4
|
module Factory
|
5
|
+
extend Syntax::Methods
|
6
|
+
|
5
7
|
# Defines a new factory that can be used by the build strategies (create and
|
6
8
|
# build) to build new objects.
|
7
9
|
#
|
@@ -18,6 +20,7 @@ module FactoryGirl
|
|
18
20
|
# factory will be copied to the current one with an ability to override
|
19
21
|
# them.
|
20
22
|
# * default_strategy: +Symbol+
|
23
|
+
# DEPRECATED.
|
21
24
|
# The strategy that will be used by the Factory shortcut method.
|
22
25
|
# Defaults to :create.
|
23
26
|
#
|
@@ -28,78 +31,9 @@ module FactoryGirl
|
|
28
31
|
proxy = FactoryGirl::DefinitionProxy.new(factory)
|
29
32
|
yield(proxy)
|
30
33
|
if parent = options.delete(:parent)
|
31
|
-
factory.inherit_from(FactoryGirl.
|
34
|
+
factory.inherit_from(FactoryGirl.find(parent))
|
32
35
|
end
|
33
|
-
FactoryGirl.
|
34
|
-
end
|
35
|
-
|
36
|
-
# Generates and returns a Hash of attributes from this factory. Attributes
|
37
|
-
# can be individually overridden by passing in a Hash of attribute => value
|
38
|
-
# pairs.
|
39
|
-
#
|
40
|
-
# Arguments:
|
41
|
-
# * name: +Symbol+ or +String+
|
42
|
-
# The name of the factory that should be used.
|
43
|
-
# * overrides: +Hash+
|
44
|
-
# Attributes to overwrite for this set.
|
45
|
-
#
|
46
|
-
# Returns: +Hash+
|
47
|
-
# A set of attributes that can be used to build an instance of the class
|
48
|
-
# this factory generates.
|
49
|
-
def self.attributes_for(name, overrides = {})
|
50
|
-
FactoryGirl.factory_by_name(name).run(Proxy::AttributesFor, overrides)
|
51
|
-
end
|
52
|
-
|
53
|
-
# Generates and returns an instance from this factory. Attributes can be
|
54
|
-
# individually overridden by passing in a Hash of attribute => value pairs.
|
55
|
-
#
|
56
|
-
# Arguments:
|
57
|
-
# * name: +Symbol+ or +String+
|
58
|
-
# The name of the factory that should be used.
|
59
|
-
# * overrides: +Hash+
|
60
|
-
# Attributes to overwrite for this instance.
|
61
|
-
#
|
62
|
-
# Returns: +Object+
|
63
|
-
# An instance of the class this factory generates, with generated attributes
|
64
|
-
# assigned.
|
65
|
-
def self.build(name, overrides = {})
|
66
|
-
FactoryGirl.factory_by_name(name).run(Proxy::Build, overrides)
|
67
|
-
end
|
68
|
-
|
69
|
-
# Generates, saves, and returns an instance from this factory. Attributes can
|
70
|
-
# be individually overridden by passing in a Hash of attribute => value
|
71
|
-
# pairs.
|
72
|
-
#
|
73
|
-
# Instances are saved using the +save!+ method, so ActiveRecord models will
|
74
|
-
# raise ActiveRecord::RecordInvalid exceptions for invalid attribute sets.
|
75
|
-
#
|
76
|
-
# Arguments:
|
77
|
-
# * name: +Symbol+ or +String+
|
78
|
-
# The name of the factory that should be used.
|
79
|
-
# * overrides: +Hash+
|
80
|
-
# Attributes to overwrite for this instance.
|
81
|
-
#
|
82
|
-
# Returns: +Object+
|
83
|
-
# A saved instance of the class this factory generates, with generated
|
84
|
-
# attributes assigned.
|
85
|
-
def self.create(name, overrides = {})
|
86
|
-
FactoryGirl.factory_by_name(name).run(Proxy::Create, overrides)
|
87
|
-
end
|
88
|
-
|
89
|
-
# Generates and returns an object with all attributes from this factory
|
90
|
-
# stubbed out. Attributes can be individually overridden by passing in a Hash
|
91
|
-
# of attribute => value pairs.
|
92
|
-
#
|
93
|
-
# Arguments:
|
94
|
-
# * name: +Symbol+ or +String+
|
95
|
-
# The name of the factory that should be used.
|
96
|
-
# * overrides: +Hash+
|
97
|
-
# Attributes to overwrite for this instance.
|
98
|
-
#
|
99
|
-
# Returns: +Object+
|
100
|
-
# An object with generated attributes stubbed out.
|
101
|
-
def self.stub(name, overrides = {})
|
102
|
-
FactoryGirl.factory_by_name(name).run(Proxy::Stub, overrides)
|
36
|
+
FactoryGirl.register(factory)
|
103
37
|
end
|
104
38
|
|
105
39
|
# Executes the default strategy for the given factory. This is usually create,
|
@@ -114,7 +48,7 @@ module FactoryGirl
|
|
114
48
|
# Returns: +Object+
|
115
49
|
# The result of the default strategy.
|
116
50
|
def self.default_strategy(name, overrides = {})
|
117
|
-
self.send(FactoryGirl.
|
51
|
+
self.send(FactoryGirl.find(name).default_strategy, name, overrides)
|
118
52
|
end
|
119
53
|
|
120
54
|
# Defines a new sequence that can be used to generate unique values in a specific format.
|
@@ -133,7 +67,7 @@ module FactoryGirl
|
|
133
67
|
#
|
134
68
|
# Factory.sequence(:email) {|n| "somebody_#{n}@example.com" }
|
135
69
|
def self.sequence(name, start_value = 1, &block)
|
136
|
-
FactoryGirl.
|
70
|
+
FactoryGirl.register(Sequence.new(name, start_value, &block))
|
137
71
|
end
|
138
72
|
|
139
73
|
# Generates and returns the next value in a sequence.
|
@@ -142,14 +76,12 @@ module FactoryGirl
|
|
142
76
|
# name: (Symbol)
|
143
77
|
# The name of the sequence that a value should be generated for.
|
144
78
|
#
|
79
|
+
# DEPRECATED. Use create instead.
|
80
|
+
#
|
145
81
|
# Returns:
|
146
82
|
# The next value in the sequence. (Object)
|
147
|
-
def self.next(
|
148
|
-
|
149
|
-
raise "No such sequence: #{sequence}"
|
150
|
-
end
|
151
|
-
|
152
|
-
FactoryGirl.sequences[sequence].next
|
83
|
+
def self.next(name)
|
84
|
+
FactoryGirl.find(name).next
|
153
85
|
end
|
154
86
|
|
155
87
|
# Defines a new alias for attributes.
|
@@ -180,6 +112,11 @@ module FactoryGirl
|
|
180
112
|
FactoryGirl.aliases << [pattern, replace]
|
181
113
|
end
|
182
114
|
|
115
|
+
# Alias for build_stubbed. Deprecated.
|
116
|
+
def self.stub(name, overrides = {})
|
117
|
+
build_stubbed(name, overrides)
|
118
|
+
end
|
119
|
+
|
183
120
|
end
|
184
121
|
|
185
122
|
# Shortcut for Factory.default_strategy.
|