Module: Forge
- Defined in:
- lib/forge.rb,
lib/forge/version.rb
Defined Under Namespace
Modules: DSL
Classes: Definition, DuplicateFactoryError, ForgeError, MissingFactoryError, Sequence
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.registry ⇒ Object
Returns the value of attribute registry.
14
15
16
|
# File 'lib/forge.rb', line 14
def registry
@registry
end
|
Class Method Details
.build(name, attrs = {}) ⇒ Object
32
33
34
35
|
# File 'lib/forge.rb', line 32
def self.build(name, attrs={})
raise MissingFactoryError unless @registry[name]
@registry[name].build(attrs)
end
|
.create(name, attrs = {}) ⇒ Object
37
38
39
40
|
# File 'lib/forge.rb', line 37
def self.create(name, attrs={})
raise MissingFactoryError unless @registry[name]
@registry[name].create(attrs)
end
|
.define(name, klass, &block) ⇒ Object
26
27
28
29
30
|
# File 'lib/forge.rb', line 26
def self.define(name, klass, &block)
@registry ||= {}
raise DuplicateFactoryError if @registry[name]
@registry[name] = Definition.new(klass, &block)
end
|
.reset! ⇒ Object
17
18
19
20
|
# File 'lib/forge.rb', line 17
def self.reset!
@registry = {}
@sequence = Sequence.new
end
|
.sequence ⇒ Object
22
23
24
|
# File 'lib/forge.rb', line 22
def self.sequence
@sequence ||= Sequence.new
end
|