Module: Julewire::Core::Integration::Facade

Defined in:
lib/julewire/core/integration/facade.rb

Class Method Summary collapse

Class Method Details

.add_attributes(fields) ⇒ Object



41
42
43
# File 'lib/julewire/core/integration/facade.rb', line 41

def add_attributes(fields)
  add_fields(:attributes, fields)
end

.add_carry(fields) ⇒ Object



49
50
51
# File 'lib/julewire/core/integration/facade.rb', line 49

def add_carry(fields)
  add_fields(:carry, fields)
end

.add_context(fields) ⇒ Object



37
38
39
# File 'lib/julewire/core/integration/facade.rb', line 37

def add_context(fields)
  add_fields(:context, fields)
end

.add_neutral(fields) ⇒ Object



45
46
47
# File 'lib/julewire/core/integration/facade.rb', line 45

def add_neutral(fields)
  add_fields(:neutral, fields)
end

.add_summary_attributes(fields) ⇒ Object



53
54
55
# File 'lib/julewire/core/integration/facade.rb', line 53

def add_summary_attributes(fields)
  add_summary_fields(fields, :add_summary_attributes)
end

.add_summary_neutral(fields) ⇒ Object



57
58
59
# File 'lib/julewire/core/integration/facade.rb', line 57

def add_summary_neutral(fields)
  add_summary_fields(fields, :add_summary_neutral)
end

.emit(record = UNSET, enforce_level: true, **fields) ⇒ Object



9
10
11
12
13
# File 'lib/julewire/core/integration/facade.rb', line 9

def emit(record = UNSET, enforce_level: true, **fields)
  record = Core.emit_input(record, fields)
  RuntimeLocator.current.emit_integration(record, enforce_level: enforce_level)
  nil
end

.increment_summary_attribute(*path, by: 1) ⇒ Object



65
66
67
68
69
70
71
# File 'lib/julewire/core/integration/facade.rb', line 65

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

Returns:

  • (Boolean)


61
62
63
# File 'lib/julewire/core/integration/facade.rb', line 61

def summary_active?
  current_scope?
end

.with_attributes(fields) ⇒ Object



21
22
23
# File 'lib/julewire/core/integration/facade.rb', line 21

def with_attributes(fields, &)
  with_fields(:attributes, fields, &)
end

.with_carry(fields) ⇒ Object



29
30
31
# File 'lib/julewire/core/integration/facade.rb', line 29

def with_carry(fields, &)
  with_fields(:carry, fields, &)
end

.with_context(fields) ⇒ Object



33
34
35
# File 'lib/julewire/core/integration/facade.rb', line 33

def with_context(fields, &)
  with_fields(:context, fields, &)
end

.with_execution(type:, **options) ⇒ Object



15
16
17
18
19
# File 'lib/julewire/core/integration/facade.rb', line 15

def with_execution(type:, **options, &)
  integration_write_section!(:execution)
  validate_owned_fields!(options)
  RuntimeLocator.current.with_execution(type: type, owned: true, **options, &)
end

.with_neutral(fields) ⇒ Object



25
26
27
# File 'lib/julewire/core/integration/facade.rb', line 25

def with_neutral(fields, &)
  with_fields(:neutral, fields, &)
end