Class: Igniter::Contracts::Contractable::ExecutionContext

Inherits:
Object
  • Object
show all
Defined in:
lib/igniter/contracts/contractable.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeExecutionContext

Returns a new instance of ExecutionContext.



133
134
135
# File 'lib/igniter/contracts/contractable.rb', line 133

def initialize
  @observations = []
end

Instance Attribute Details

#observationsObject (readonly)

Returns the value of attribute observations.



131
132
133
# File 'lib/igniter/contracts/contractable.rb', line 131

def observations
  @observations
end

Instance Method Details

#observe(name, metadata: {}) ⇒ Object



137
138
139
140
141
# File 'lib/igniter/contracts/contractable.rb', line 137

def observe(name, metadata: {})
  value = yield
  observations << Observation.new(name: name, value: value, metadata: )
  value
end