Module: Philiprehberger::TestFactory
- Defined in:
- lib/philiprehberger/test_factory.rb,
lib/philiprehberger/test_factory/builder.rb,
lib/philiprehberger/test_factory/version.rb,
lib/philiprehberger/test_factory/registry.rb,
lib/philiprehberger/test_factory/sequence.rb,
lib/philiprehberger/test_factory/definition_proxy.rb
Overview
Lightweight DSL for building test data objects without ActiveRecord.
Defined Under Namespace
Classes: Builder, DefinitionProxy, Error, NullProxy, Registry, Sequence, TransientCollector
Constant Summary collapse
- VERSION =
'0.3.0'
Class Method Summary collapse
-
.build(name, traits: [], **overrides) ⇒ Hash
Build a single data hash from a factory.
-
.build_list(name, count, traits: [], **overrides) ⇒ Array<Hash>
Build a list of data hashes from a factory.
-
.define(name) ⇒ void
Register a factory definition.
-
.reset! ⇒ void
Clear all factory definitions, traits, and sequences.
-
.sequence(name) ⇒ void
Register a sequence generator.
-
.trait(factory_name, trait_name) ⇒ void
Register a trait override for a factory.
Class Method Details
.build(name, traits: [], **overrides) ⇒ Hash
Build a single data hash from a factory.
49 50 51 |
# File 'lib/philiprehberger/test_factory.rb', line 49 def build(name, traits: [], **overrides) builder.build(name, traits: traits, **overrides) end |
.build_list(name, count, traits: [], **overrides) ⇒ Array<Hash>
Build a list of data hashes from a factory.
60 61 62 |
# File 'lib/philiprehberger/test_factory.rb', line 60 def build_list(name, count, traits: [], **overrides) builder.build_list(name, count, traits: traits, **overrides) end |
.define(name) ⇒ void
This method returns an undefined value.
Register a factory definition.
20 21 22 |
# File 'lib/philiprehberger/test_factory.rb', line 20 def define(name, &) registry.define(name, &) end |
.reset! ⇒ void
This method returns an undefined value.
Clear all factory definitions, traits, and sequences.
67 68 69 70 |
# File 'lib/philiprehberger/test_factory.rb', line 67 def reset! @registry = nil @builder = nil end |
.sequence(name) ⇒ void
This method returns an undefined value.
Register a sequence generator.
39 40 41 |
# File 'lib/philiprehberger/test_factory.rb', line 39 def sequence(name, &) registry.sequence(name, &) end |
.trait(factory_name, trait_name) ⇒ void
This method returns an undefined value.
Register a trait override for a factory.
30 31 32 |
# File 'lib/philiprehberger/test_factory.rb', line 30 def trait(factory_name, trait_name, &) registry.trait(factory_name, trait_name, &) end |