Class: CMDx::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/cmdx/settings.rb

Overview

Value object encapsulating all per-task configuration. Registries are deep-duped on inheritance; scalar settings delegate to a parent Settings or to the global Configuration rather than eagerly copying values.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent: nil, **overrides) ⇒ Settings

Creates a new Settings instance, inheriting registries from a parent Settings or the global Configuration. Scalar settings are resolved lazily via delegation rather than eagerly copied.

Examples:

Settings.new(parent: ParentTask.settings, deprecate: true)

Parameters:

  • parent (Settings, nil) (defaults to: nil)

    Parent settings to inherit from

  • overrides (Hash)

    Field values to override after inheritance

Rbs:

  • (?parent: Settings?, **untyped overrides) -> void



179
180
181
182
183
184
185
186
# File 'lib/cmdx/settings.rb', line 179

def initialize(parent: nil, **overrides)
  @parent = parent

  init_registries
  init_collections

  overrides.each { |key, value| public_send(:"#{key}=", value) }
end

Instance Attribute Details

#attributesAttributeRegistry

Returns the attribute registry for task parameters.

Returns:

Rbs:

  • @attributes: AttributeRegistry



68
69
70
# File 'lib/cmdx/settings.rb', line 68

def attributes
  @attributes
end

#backtraceBoolean

Returns true if backtraces should be logged.

Returns:

  • (Boolean)

    true if backtraces should be logged



114
# File 'lib/cmdx/settings.rb', line 114

delegate_to_configuration :backtrace

#backtrace_cleanerProc?

Returns The backtrace cleaner proc.

Returns:

  • (Proc, nil)

    The backtrace cleaner proc



130
# File 'lib/cmdx/settings.rb', line 130

delegate_to_parent :backtrace_cleaner, with_fallback: true

#breakpointsArray<String>?

Returns Per-task breakpoints override.

Returns:

  • (Array<String>, nil)

    Per-task breakpoints override



134
# File 'lib/cmdx/settings.rb', line 134

delegate_to_parent :breakpoints

#callbacksCallbackRegistry

Returns the callback registry for task lifecycle hooks.

Returns:

Rbs:

  • @callbacks: CallbackRegistry



75
76
77
# File 'lib/cmdx/settings.rb', line 75

def callbacks
  @callbacks
end

#coercionsCoercionRegistry

Returns the coercion registry for type conversions.

Returns:

Rbs:

  • @coercions: CoercionRegistry



82
83
84
# File 'lib/cmdx/settings.rb', line 82

def coercions
  @coercions
end

#deprecateSymbol, ...

Returns Deprecation behavior.

Returns:

  • (Symbol, Proc, Boolean, nil)

    Deprecation behavior



138
# File 'lib/cmdx/settings.rb', line 138

delegate_to_parent :deprecate

#exception_handlerProc?

Returns The exception handler proc.

Returns:

  • (Proc, nil)

    The exception handler proc



142
# File 'lib/cmdx/settings.rb', line 142

delegate_to_parent :exception_handler, with_fallback: true

#log_formatterProc?

Returns Per-task log formatter override.

Returns:

  • (Proc, nil)

    Per-task log formatter override



150
# File 'lib/cmdx/settings.rb', line 150

delegate_to_parent :log_formatter

#log_levelInteger?

Returns Per-task log level override.

Returns:

  • (Integer, nil)

    Per-task log level override



154
# File 'lib/cmdx/settings.rb', line 154

delegate_to_parent :log_level

#loggerLogger

Returns The logger instance.

Returns:

  • (Logger)

    The logger instance



146
# File 'lib/cmdx/settings.rb', line 146

delegate_to_parent :logger, with_fallback: true

#middlewaresMiddlewareRegistry

Returns the middleware registry for task execution.

Returns:

Rbs:

  • @middlewares: MiddlewareRegistry



89
90
91
# File 'lib/cmdx/settings.rb', line 89

def middlewares
  @middlewares
end

#retriesInteger?

Returns Number of retries on failure.

Returns:

  • (Integer, nil)

    Number of retries on failure



158
# File 'lib/cmdx/settings.rb', line 158

delegate_to_parent :retries

#retry_jitterNumeric, ...

Returns Jitter between retries.

Returns:

  • (Numeric, Symbol, Proc, nil)

    Jitter between retries



162
# File 'lib/cmdx/settings.rb', line 162

delegate_to_parent :retry_jitter

#retry_onArray<Class>, ...

Returns Exception classes to retry on.

Returns:

  • (Array<Class>, Class, nil)

    Exception classes to retry on



166
# File 'lib/cmdx/settings.rb', line 166

delegate_to_parent :retry_on

#returnsArray<Symbol>

Returns the expected return keys after execution.

Returns:

  • (Array<Symbol>)

    Expected return keys after execution

Rbs:



103
104
105
# File 'lib/cmdx/settings.rb', line 103

def returns
  @returns
end

#rollback_onArray<String>

Returns Statuses that trigger rollback.

Returns:

  • (Array<String>)

    Statuses that trigger rollback



118
# File 'lib/cmdx/settings.rb', line 118

delegate_to_configuration :rollback_on

#tagsArray<Symbol>

Returns the tags for task categorization.

Returns:

  • (Array<Symbol>)

    Tags for categorization

Rbs:



110
111
112
# File 'lib/cmdx/settings.rb', line 110

def tags
  @tags
end

#task_breakpointsArray<String>

Returns Default task breakpoint statuses.

Returns:

  • (Array<String>)

    Default task breakpoint statuses



122
# File 'lib/cmdx/settings.rb', line 122

delegate_to_configuration :task_breakpoints

#validatorsValidatorRegistry

Returns the validator registry for attribute validation.

Returns:

Rbs:

  • @validators: ValidatorRegistry



96
97
98
# File 'lib/cmdx/settings.rb', line 96

def validators
  @validators
end

#workflow_breakpointsArray<String>

Returns Default workflow breakpoint statuses.

Returns:

  • (Array<String>)

    Default workflow breakpoint statuses



126
# File 'lib/cmdx/settings.rb', line 126

delegate_to_configuration :workflow_breakpoints