Class: Julewire::Core::Testing::Chaos::Catalog
- Inherits:
-
Object
- Object
- Julewire::Core::Testing::Chaos::Catalog
- Defined in:
- lib/julewire/core/testing/chaos/catalog.rb
Defined Under Namespace
Classes: Entry
Constant Summary collapse
- KINDS =
%i[processor formatter encoder destination subscriber listener].freeze
Instance Attribute Summary collapse
- #entries ⇒ Object readonly
Class Method Summary collapse
Instance Method Summary collapse
- #destination(name) ⇒ Object
- #encoder(name) ⇒ Object
- #formatter(name) ⇒ Object
-
#initialize ⇒ Catalog
constructor
A new instance of Catalog.
- #listener(name) ⇒ Object
- #processor(name) ⇒ Object
- #subscriber(name) ⇒ Object
Constructor Details
#initialize ⇒ Catalog
Returns a new instance of Catalog.
43 44 45 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 43 def initialize @entries = [] end |
Instance Attribute Details
#entries ⇒ Object (readonly)
11 12 13 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 11 def entries @entries end |
Class Method Details
.assert_contract(test_context, catalog:, errors:) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 20 def assert_contract(test_context, catalog:, errors:) entries = catalog.entries raise ArgumentError, "chaos catalog must have entries" if entries.empty? entries.each do |entry| assert_entry(test_context, entry, errors) end nil end |
.build {|catalog| ... } ⇒ Object
14 15 16 17 18 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 14 def build catalog = new yield catalog if block_given? catalog end |
Instance Method Details
#destination(name) ⇒ Object
53 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 53 def destination(name, &) = register(:destination, name, &) |
#encoder(name) ⇒ Object
51 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 51 def encoder(name, &) = register(:encoder, name, &) |
#formatter(name) ⇒ Object
49 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 49 def formatter(name, &) = register(:formatter, name, &) |
#listener(name) ⇒ Object
57 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 57 def listener(name, &) = register(:listener, name, &) |
#processor(name) ⇒ Object
47 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 47 def processor(name, &) = register(:processor, name, &) |
#subscriber(name) ⇒ Object
55 |
# File 'lib/julewire/core/testing/chaos/catalog.rb', line 55 def subscriber(name, &) = register(:subscriber, name, &) |