Class: SourceMonitor::Fetching::FeedFetcher::FailureOutcome

Inherits:
Object
  • Object
show all
Defined in:
lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(error:) ⇒ FailureOutcome

Returns a new instance of FailureOutcome.



7
8
9
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 7

def initialize(error:)
  @error = error
end

Instance Attribute Details

#errorObject (readonly)

Returns the value of attribute error.



11
12
13
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 11

def error
  @error
end

#retry_decisionObject (readonly)

Returns the value of attribute retry_decision.



11
12
13
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 11

def retry_decision
  @retry_decision
end

Instance Method Details

#apply(source_updater:, started_at:, instrumentation_payload:) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 13

def apply(source_updater:, started_at:, instrumentation_payload:)
  duration_ms = source_updater.elapsed_ms(started_at)
  @retry_decision = update_source(source_updater, duration_ms)
  create_fetch_log(source_updater, duration_ms, started_at)
  apply_instrumentation(instrumentation_payload)
  result
end

#bodyObject



29
30
31
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 29

def body
  response&.body
end

#feedObject



33
34
35
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 33

def feed
  nil
end

#item_processingObject



37
38
39
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 37

def item_processing
  @item_processing ||= EntryProcessingResult.empty
end

#responseObject



25
26
27
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 25

def response
  error.response
end

#statusObject



21
22
23
# File 'lib/source_monitor/fetching/feed_fetcher/failure_outcome.rb', line 21

def status
  :failed
end