Module: Treaty::Entity::Attribute::Option::RegistryInitializer
- Defined in:
- lib/treaty/entity/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 (sorted by position)
:type→ TypeValidator (position: 100) - Validates value types:required→ RequiredValidator (position: 200) - Validates required/optional attributes:inclusion→ InclusionValidator (position: 300) - Validates value is in allowed set:format→ FormatValidator (position: 400) - Validates string values match specific formats
Built-in Modifiers (sorted by position)
:transform→ TransformModifier (position: 500) - Transforms values using custom lambdas:cast→ CastModifier (position: 600) - Converts values between types automatically:computed→ ComputedModifier (position: 700) - Computes values from all raw data:default→ DefaultModifier (position: 800) - Provides default values:as→ AsModifier (position: 900) - Renames attributes
Built-in Conditionals (no position - handled separately)
: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:
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
71 72 73 74 75 |
# File 'lib/treaty/entity/attribute/option/registry_initializer.rb', line 71 def register_all! register_validators! register_modifiers! register_conditionals! end |