Module: Julewire::Core::Integration::Facade
- Defined in:
- lib/julewire/core/integration/facade.rb
Class Method Summary collapse
- .add_attributes(fields) ⇒ Object
- .add_carry(fields) ⇒ Object
- .add_context(fields) ⇒ Object
- .add_neutral(fields) ⇒ Object
- .add_summary_attributes(fields) ⇒ Object
- .add_summary_neutral(fields) ⇒ Object
- .emit(record = Core::UNSET, enforce_level: true, **fields) ⇒ Object
- .increment_summary_attribute(*path, by: 1) ⇒ Object
- .summary_active? ⇒ Boolean
- .with_attributes(fields) ⇒ Object
- .with_carry(fields) ⇒ Object
- .with_context(fields) ⇒ Object
- .with_execution(type:) ⇒ Object
- .with_neutral(fields) ⇒ Object
Class Method Details
.add_attributes(fields) ⇒ Object
49 50 51 |
# File 'lib/julewire/core/integration/facade.rb', line 49 def add_attributes(fields) add_fields(:attributes, fields) end |
.add_carry(fields) ⇒ Object
57 58 59 |
# File 'lib/julewire/core/integration/facade.rb', line 57 def add_carry(fields) add_fields(:carry, fields) end |
.add_context(fields) ⇒ Object
45 46 47 |
# File 'lib/julewire/core/integration/facade.rb', line 45 def add_context(fields) add_fields(:context, fields) end |
.add_neutral(fields) ⇒ Object
53 54 55 |
# File 'lib/julewire/core/integration/facade.rb', line 53 def add_neutral(fields) add_fields(:neutral, fields) end |
.add_summary_attributes(fields) ⇒ Object
61 62 63 |
# File 'lib/julewire/core/integration/facade.rb', line 61 def add_summary_attributes(fields) add_summary_fields(fields, :add_summary_attributes) end |
.add_summary_neutral(fields) ⇒ Object
65 66 67 |
# File 'lib/julewire/core/integration/facade.rb', line 65 def add_summary_neutral(fields) add_summary_fields(fields, :add_summary_neutral) end |
.emit(record = Core::UNSET, enforce_level: true, **fields) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/julewire/core/integration/facade.rb', line 9 def emit(record = Core::UNSET, enforce_level: true, **fields) record = Core.emit_input(record, fields) runtime = RuntimeLocator.current if runtime.respond_to?(:emit_integration) runtime.emit_integration(record, enforce_level: enforce_level) elsif enforce_level runtime.emit(record) else runtime.emit_without_level(record) end nil end |
.increment_summary_attribute(*path, by: 1) ⇒ Object
73 74 75 76 77 78 79 |
# File 'lib/julewire/core/integration/facade.rb', line 73 def increment_summary_attribute(*path, by: 1) scope = ContextStore.current.current_scope return unless scope scope.increment_summary_attribute(path, by: by) nil end |
.summary_active? ⇒ Boolean
69 70 71 |
# File 'lib/julewire/core/integration/facade.rb', line 69 def summary_active? current_scope? end |
.with_attributes(fields) ⇒ Object
29 30 31 |
# File 'lib/julewire/core/integration/facade.rb', line 29 def with_attributes(fields, &) with_fields(:attributes, fields, &) end |
.with_carry(fields) ⇒ Object
37 38 39 |
# File 'lib/julewire/core/integration/facade.rb', line 37 def with_carry(fields, &) with_fields(:carry, fields, &) end |
.with_context(fields) ⇒ Object
41 42 43 |
# File 'lib/julewire/core/integration/facade.rb', line 41 def with_context(fields, &) with_fields(:context, fields, &) end |
.with_execution(type:) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/julewire/core/integration/facade.rb', line 22 def with_execution(type:, **, &) raise ArgumentError, "block required" unless block_given? integration_write_section!(:execution) RuntimeLocator.current.with_execution(type: type, owned: true, **, &) end |
.with_neutral(fields) ⇒ Object
33 34 35 |
# File 'lib/julewire/core/integration/facade.rb', line 33 def with_neutral(fields, &) with_fields(:neutral, fields, &) end |