Skip to content

Instantly share code, notes, and snippets.

@mhfs
Created October 31, 2009 18:56
Show Gist options
  • Select an option

  • Save mhfs/223186 to your computer and use it in GitHub Desktop.

Select an option

Save mhfs/223186 to your computer and use it in GitHub Desktop.
def factories(*models)
models.each do |model|
(class << self; self; end).class_eval <<-METHOD
def factory_#{model}
@#{model} ||= Factory(:#{model})
end
METHOD
self.class_eval <<-METHOD
def factory_#{model}
proc { factory_#{model} }
end
METHOD
end
end
# asset factory
def self.factory_asset
proc { factory_asset }
end
def factory_asset
@asset ||= Factory(:asset)
end
# project factory
def self.factory_project
proc { factory_project }
end
def factory_project
@project ||= Factory(:project)
end
factories :asset, :project
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment