Class: WhittakerTech::Aeon::ResolvedOccurrence
- Inherits:
-
Struct
- Object
- Struct
- WhittakerTech::Aeon::ResolvedOccurrence
- Defined in:
- app/services/whittaker_tech/aeon/resolved_occurrence.rb
Overview
Immutable value object returned by Resolver. Represents a single occurrence with overrides already applied — the caller sees the effective temporal reality, not the raw projections.
This is deliberately NOT an ActiveRecord model. Facts should not feel editable.
Instance Attribute Summary collapse
-
#allocation_id ⇒ String
UUID of the owning allocation.
-
#ends_at ⇒ Time
effective end (replacement if overridden).
-
#occurrence_id ⇒ String
UUID of the base occurrence.
-
#overridden ⇒ Boolean
true if a replacement override was applied.
-
#schedulable_label ⇒ String
schedule label (“time_slot”, etc.).
-
#starts_at ⇒ Time
effective start (replacement if overridden).
-
#state ⇒ String
occurrence state enum value (“active”).
Instance Attribute Details
#allocation_id ⇒ String
UUID of the owning allocation
19 20 21 |
# File 'app/services/whittaker_tech/aeon/resolved_occurrence.rb', line 19 def allocation_id @allocation_id end |
#ends_at ⇒ Time
effective end (replacement if overridden)
19 20 21 |
# File 'app/services/whittaker_tech/aeon/resolved_occurrence.rb', line 19 def ends_at @ends_at end |
#occurrence_id ⇒ String
UUID of the base occurrence
19 20 21 |
# File 'app/services/whittaker_tech/aeon/resolved_occurrence.rb', line 19 def occurrence_id @occurrence_id end |
#overridden ⇒ Boolean
true if a replacement override was applied
19 20 21 |
# File 'app/services/whittaker_tech/aeon/resolved_occurrence.rb', line 19 def overridden @overridden end |
#schedulable_label ⇒ String
schedule label (“time_slot”, etc.)
19 20 21 |
# File 'app/services/whittaker_tech/aeon/resolved_occurrence.rb', line 19 def schedulable_label @schedulable_label end |
#starts_at ⇒ Time
effective start (replacement if overridden)
19 20 21 |
# File 'app/services/whittaker_tech/aeon/resolved_occurrence.rb', line 19 def starts_at @starts_at end |
#state ⇒ String
occurrence state enum value (“active”)
19 20 21 |
# File 'app/services/whittaker_tech/aeon/resolved_occurrence.rb', line 19 def state @state end |