Module: Treaty::Attribute::Option::RegistryInitializer
- Defined in:
- lib/treaty/attribute/option/registry_initializer.rb
Overview
Initializes and registers all built-in option processors with the Registry.
## Purpose
Centralized registration point for all option processors (validators, modifiers, and conditionals). Automatically registers all built-in options when loaded.
## Responsibilities
-
**Validator Registration** - Registers all built-in validators
-
**Modifier Registration** - Registers all built-in modifiers
-
**Conditional Registration** - Registers all built-in conditionals
-
Auto-Loading - Executes automatically when file is loaded
## Built-in Validators
-
‘:required` → RequiredValidator - Validates required/optional attributes
-
‘:type` → TypeValidator - Validates value types
-
‘:inclusion` → InclusionValidator - Validates value is in allowed set
-
‘:format` → FormatValidator - Validates string values match specific formats
## Built-in Modifiers
-
‘:as` → AsModifier - Renames attributes
-
‘:default` → DefaultModifier - Provides default values
-
‘:transform` → TransformModifier - Transforms values using custom lambdas
-
‘:cast` → CastModifier - Converts values between types automatically
## Built-in Conditionals
-
‘:if` → IfConditional - Conditionally includes attributes based on runtime data
-
‘:unless` → UnlessConditional - Conditionally excludes attributes based on runtime data
## Auto-Registration
This file calls ‘register_all!` when loaded, ensuring all processors are available immediately.
## Adding New Options
To add a new option processor:
-
Create the processor class (inherit from Option::Base)
-
Add registration call here:
“‘ruby def register_validators!
Registry.register(:required, Validators::RequiredValidator, category: :validator)
Registry.register(:my_option, Validators::MyValidator, category: :validator)
end “‘
## Architecture
Works with:
-
Registry - Stores processor registrations
-
Option::Base - Base class for all processors
-
OptionOrchestrator - Uses registered processors
Class Method Summary collapse
-
.register_all! ⇒ void
Registers all built-in option processors Called automatically when this file is loaded.
Class Method Details
.register_all! ⇒ void
This method returns an undefined value.
Registers all built-in option processors Called automatically when this file is loaded
69 70 71 72 73 |
# File 'lib/treaty/attribute/option/registry_initializer.rb', line 69 def register_all! register_validators! register_modifiers! register_conditionals! end |