Module: Julewire::Core::Records::LazyEmitInput

Defined in:
lib/julewire/core/records/lazy_emit_input.rb

Class Method Summary collapse

Class Method Details

.call(input) ⇒ Object



54
55
56
57
58
59
60
61
62
63
# File 'lib/julewire/core/records/lazy_emit_input.rb', line 54

def call(input)
  lazy_value = yield
  return input if lazy_value.nil?
  return lazy_value if empty_input?(input)

  eager = input_hash(input)
  lazy = input_hash(lazy_value)
  lazy = without_severity(lazy) if explicit_severity?(eager)
  Fields::FieldSet.merge(eager, lazy)
end

.input?(value) ⇒ Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/julewire/core/records/lazy_emit_input.rb', line 69

def input?(value)
  value.is_a?(SeverityInput)
end

.with_severity(severity, input) ⇒ Object



65
66
67
# File 'lib/julewire/core/records/lazy_emit_input.rb', line 65

def with_severity(severity, input)
  SeverityInput.new(severity, input)
end