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

.registryObject

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

.sequenceObject



22
23
24
# File 'lib/forge.rb', line 22

def self.sequence
  @sequence ||= Sequence.new
end