Class: ActiveJob::Temporal::Observability::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/activejob/temporal/observability.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



165
166
167
168
# File 'lib/activejob/temporal/observability.rb', line 165

def initialize
  @adapters = []
  @stop_replaced_adapters = true
end

Instance Attribute Details

#adaptersObject (readonly)

Returns the value of attribute adapters.



163
164
165
# File 'lib/activejob/temporal/observability.rb', line 163

def adapters
  @adapters
end

Instance Method Details

#adapter(name) ⇒ Object



184
185
186
# File 'lib/activejob/temporal/observability.rb', line 184

def adapter(name)
  adapters.find { |registered_adapter| registered_adapter.name == name.to_sym }
end

#enabled?(name = nil) ⇒ Boolean

Returns:

  • (Boolean)


188
189
190
191
192
# File 'lib/activejob/temporal/observability.rb', line 188

def enabled?(name = nil)
  return adapters.any? unless name

  !adapter(name).nil?
end

#finalize_configuration_copy!Object



203
204
205
206
# File 'lib/activejob/temporal/observability.rb', line 203

def finalize_configuration_copy!
  @stop_replaced_adapters = true
  self
end

#initialize_copy(original) ⇒ Object



170
171
172
173
174
# File 'lib/activejob/temporal/observability.rb', line 170

def initialize_copy(original)
  super
  @adapters = original.adapters.dup
  @stop_replaced_adapters = false
end

#reset!Object



194
195
196
197
# File 'lib/activejob/temporal/observability.rb', line 194

def reset!
  adapters.each(&:stop!) if @stop_replaced_adapters
  adapters.clear
end

#use(name) {|adapter| ... } ⇒ Object

Yields:



176
177
178
179
180
181
182
# File 'lib/activejob/temporal/observability.rb', line 176

def use(name, **)
  adapter = Observability.adapter_class(name).new(**)
  yield adapter if block_given?
  adapter.start!
  replace_adapter(adapter)
  adapter
end

#validate!Object



199
200
201
# File 'lib/activejob/temporal/observability.rb', line 199

def validate!
  adapters.each(&:validate!)
end