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

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

Class Method Summary collapse

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

Returns:

  • (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

Raises:

  • (ArgumentError)


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