Class: Textus::Domain::Staleness::IntakeCheck

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/domain/staleness/intake_check.rb

Overview

Reports TTL-exceeded staleness for intake-handler entries. Returns an Array of row hashes (possibly empty) per entry.

Instance Method Summary collapse

Constructor Details

#initialize(manifest:, file_stat:, clock:) ⇒ IntakeCheck

Returns a new instance of IntakeCheck.



9
10
11
12
13
# File 'lib/textus/domain/staleness/intake_check.rb', line 9

def initialize(manifest:, file_stat:, clock:)
  @manifest  = manifest
  @file_stat = file_stat
  @clock     = clock
end

Instance Method Details

#rows_for(mentry) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/textus/domain/staleness/intake_check.rb', line 15

def rows_for(mentry)
  return [] unless mentry.is_a?(Textus::Manifest::Entry::Intake)

  ttl = @manifest.rules.for(mentry.key).refresh&.ttl_seconds
  return [] unless ttl

  path = Textus::Key::Path.resolve(@manifest.data, mentry)
  reason = ttl_reason(mentry, path, ttl)
  reason ? [row(mentry, path, reason)] : []
end