Sha256: 691fb550f26598ff7600f087b6a23547ddff945ff3a21ab07b4e225910569d47
Contents?: true
Size: 1.16 KB
Versions: 54
Compression:
Stored size: 1.16 KB
Contents
module FactoryGirl module Syntax # Extends ActiveRecord::Base to provide a make class method, which is an # alternate syntax for defining factories. # # Usage: # # require 'factory_girl/syntax/blueprint' # # User.blueprint do # name { 'Billy Bob' } # email { 'billy@bob.example.com' } # end # # FactoryGirl.create(:user, name: 'Johnny') # # This syntax was derived from Pete Yandell's machinist. module Blueprint module ActiveRecord #:nodoc: def self.included(base) # :nodoc: base.extend ClassMethods end module ClassMethods #:nodoc: def blueprint(&block) ActiveSupport::Deprecation.warn "Model.blueprint is deprecated; use the FactoryGirl.define syntax instead", caller instance = Factory.new(name.underscore, class: self) proxy = FactoryGirl::DefinitionProxy.new(instance) proxy.instance_eval(&block) FactoryGirl.register_factory(instance) end end end end end end ActiveRecord::Base.send(:include, FactoryGirl::Syntax::Blueprint::ActiveRecord)
Version data entries
54 entries across 54 versions & 4 rubygems