Sha256: 9d98bb284124c30a41ad2de273148bb4dea4d5d55b89bc5f26c78df97336d4fa
Contents?: true
Size: 1000 Bytes
Versions: 4
Compression:
Stored size: 1000 Bytes
Contents
class Factory 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 # # Factory(: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) instance = Factory.new(name.underscore, :class => self) instance.instance_eval(&block) Factory.factories[instance.factory_name] = instance end end end end end end ActiveRecord::Base.send(:include, Factory::Syntax::Blueprint::ActiveRecord)
Version data entries
4 entries across 4 versions & 1 rubygems