Class: FactDb::Temporal::TimelineEvent
- Inherits:
-
Object
- Object
- FactDb::Temporal::TimelineEvent
- Defined in:
- lib/fact_db/temporal/timeline.rb
Overview
Wraps a Fact as a timeline event with convenience methods
Provides a simplified interface for timeline operations, delegating most methods to the underlying fact.
Instance Attribute Summary collapse
-
#fact ⇒ FactDb::Models::Fact
readonly
The underlying fact.
Instance Method Summary collapse
-
#<=>(other) ⇒ Integer
Compares events by valid_at date for sorting.
-
#currently_valid? ⇒ Boolean
True if fact is currently valid.
-
#duration ⇒ ActiveSupport::Duration?
Validity duration.
-
#duration_days ⇒ Integer?
Validity duration in days.
-
#entities ⇒ Array<Entity>
Mentioned entities.
-
#id ⇒ Integer
The fact ID.
-
#initialize(fact) ⇒ TimelineEvent
constructor
Initializes a new TimelineEvent.
-
#invalid_at ⇒ Time?
When the fact became invalid.
-
#source_contents ⇒ Array<Source>
Source documents.
-
#status ⇒ String
The fact status.
-
#text ⇒ String
The fact text.
-
#to_hash ⇒ Hash
Converts the event to a hash representation.
-
#valid_at ⇒ Time
When the fact became valid.
-
#valid_at?(date) ⇒ Boolean
True if valid at the given date.
Constructor Details
#initialize(fact) ⇒ TimelineEvent
Initializes a new TimelineEvent
197 198 199 |
# File 'lib/fact_db/temporal/timeline.rb', line 197 def initialize(fact) @fact = fact end |
Instance Attribute Details
#fact ⇒ FactDb::Models::Fact (readonly)
Returns the underlying fact.
165 166 167 |
# File 'lib/fact_db/temporal/timeline.rb', line 165 def fact @fact end |
Instance Method Details
#<=>(other) ⇒ Integer
Compares events by valid_at date for sorting
220 221 222 |
# File 'lib/fact_db/temporal/timeline.rb', line 220 def <=>(other) valid_at <=> other.valid_at end |
#currently_valid? ⇒ Boolean
Returns true if fact is currently valid.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#duration ⇒ ActiveSupport::Duration?
Returns validity duration.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#duration_days ⇒ Integer?
Returns validity duration in days.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#entities ⇒ Array<Entity>
Returns mentioned entities.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#id ⇒ Integer
Returns the fact ID.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#invalid_at ⇒ Time?
Returns when the fact became invalid.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#source_contents ⇒ Array<Source>
Returns source documents.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#status ⇒ String
Returns the fact status.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#text ⇒ String
Returns the fact text.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#to_hash ⇒ Hash
Converts the event to a hash representation
204 205 206 207 208 209 210 211 212 213 214 |
# File 'lib/fact_db/temporal/timeline.rb', line 204 def to_hash { id: id, text: text, valid_at: valid_at, invalid_at: invalid_at, status: status, duration_days: duration_days, entities: entities.map(&:name) } end |
#valid_at ⇒ Time
Returns when the fact became valid.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |
#valid_at?(date) ⇒ Boolean
Returns true if valid at the given date.
190 191 192 |
# File 'lib/fact_db/temporal/timeline.rb', line 190 delegate :id, :text, :valid_at, :invalid_at, :status, :currently_valid?, :valid_at?, :duration, :duration_days, :entities, :source_contents, to: :fact |