Class: Vangrail::Rails::Missing

Inherits:
Vangrail::Rail show all
Defined in:
lib/vangrail/rails/missing.rb

Overview

Stands in for a rail that was asked for and could not be built.

Without this, a configuration asking for a model-backed rail against an endpoint that is down produces an engine holding only its offline rails. Those rails pass, the engine reports passed and certain, and the answer is a lie: the check the operator configured never ran.

A placeholder that always returns unchecked keeps the arithmetic right. The turn is allowed, the engine's result is uncertain, and the reason names what is missing and why.

Constant Summary

Constants inherited from Vangrail::Rail

Vangrail::Rail::DEFAULT_SIDES, Vangrail::Rail::SIDES

Instance Attribute Summary collapse

Attributes inherited from Vangrail::Rail

#name, #sides

Instance Method Summary collapse

Methods inherited from Vangrail::Rail

#applies_to?, #cache_key, #call, #language_agnostic?, #offline?, #posture?, #quantifies?, #to_s, usable

Constructor Details

#initialize(reason:, name: 'missing', sides: Rail::SIDES) ⇒ Missing

Returns a new instance of Missing.



20
21
22
23
# File 'lib/vangrail/rails/missing.rb', line 20

def initialize(reason:, name: 'missing', sides: Rail::SIDES)
  super(name: name, sides: sides)
  @reason = reason
end

Instance Attribute Details

#reasonObject (readonly)

Returns the value of attribute reason.



18
19
20
# File 'lib/vangrail/rails/missing.rb', line 18

def reason
  @reason
end

Instance Method Details

#decide(_text, _context) ⇒ Object



29
30
31
# File 'lib/vangrail/rails/missing.rb', line 29

def decide(_text, _context)
  unchecked(reason)
end

#placeholder?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/vangrail/rails/missing.rb', line 25

def placeholder?
  true
end