Module: Factory::ClassMethods

Defined in:
lib/factory.rb

Overview

The methods in this module will be added to classes which include Factory as class methods.

Instance Method Summary collapse

Instance Method Details

#create(*args) ⇒ Object

Used to create objects of the type registered as the classes factory override.



112
113
114
115
# File 'lib/factory.rb', line 112

def create *args
	return Factory[self].new() if args.empty?
	return Factory[self].new(*args)
end

#disable_factory_override(overriding_class) ⇒ Object

Used to manually disable class specific override class.



123
124
125
# File 'lib/factory.rb', line 123

def disable_factory_override overriding_class
	Factory.disable_override self, overriding_class
end

#enable_factory_override(overriding_class) ⇒ Object

Used to manually enable class specific override class.



118
119
120
# File 'lib/factory.rb', line 118

def enable_factory_override overriding_class
	Factory.enable_override self, overriding_class
end

#factory_overrideObject

Accessor which returns the class which is registered as this classes override.



128
129
130
# File 'lib/factory.rb', line 128

def factory_override
	Factory[self]
end

#inherited(sub_class) ⇒ Object

Inheritance callback. Creates an OverrideList and adds sub-class auto-overrides.



106
107
108
109
# File 'lib/factory.rb', line 106

def inherited sub_class #:nodoc:
	Factory.create_override_list sub_class, self
	Factory.inherited_override self, sub_class
end