2010-06-24 09:45:57 -04:00
|
|
|
module FactoryGirl
|
|
|
|
|
|
|
|
class << self
|
|
|
|
# An Array of strings specifying locations that should be searched for
|
|
|
|
# factory definitions. By default, factory_girl will attempt to require
|
|
|
|
# "factories," "test/factories," and "spec/factories." Only the first
|
|
|
|
# existing file will be loaded.
|
|
|
|
attr_accessor :definition_file_paths
|
|
|
|
end
|
|
|
|
self.definition_file_paths = %w(factories test/factories spec/factories)
|
|
|
|
|
|
|
|
def self.find_definitions #:nodoc:
|
2011-07-29 12:22:29 -04:00
|
|
|
absolute_definition_file_paths = definition_file_paths.map {|path| File.expand_path(path) }
|
2011-07-22 14:47:47 -04:00
|
|
|
|
2011-07-29 12:22:29 -04:00
|
|
|
absolute_definition_file_paths.uniq.each do |path|
|
|
|
|
load("#{path}.rb") if File.exists?("#{path}.rb")
|
2010-06-24 09:45:57 -04:00
|
|
|
|
|
|
|
if File.directory? path
|
2011-06-27 15:24:08 -04:00
|
|
|
Dir[File.join(path, '**', '*.rb')].sort.each do |file|
|
2011-07-29 12:22:29 -04:00
|
|
|
load file
|
2010-06-24 09:45:57 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|