Class: Slk::Services::ReactionEnricher

Inherits:
Object
  • Object
show all
Defined in:
lib/slk/services/reaction_enricher.rb

Overview

Adds timestamps to message reactions via activity API

Instance Method Summary collapse

Constructor Details

#initialize(activity_api:) ⇒ ReactionEnricher

Returns a new instance of ReactionEnricher.



7
8
9
# File 'lib/slk/services/reaction_enricher.rb', line 7

def initialize(activity_api:)
  @activity_api = activity_api
end

Instance Method Details

#enrich_messages(messages, channel_id) ⇒ Object

Enriches messages with reaction timestamps Returns new array of messages with timestamps added to reactions



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/slk/services/reaction_enricher.rb', line 13

def enrich_messages(messages, channel_id)
  return messages if messages.empty?

  # Fetch reaction activity
  activity_map = fetch_reaction_activity(channel_id, messages.map(&:ts))

  # Enhance messages with timestamps
  messages.map do |msg|
    enhanced_reactions = enhance_reactions(msg, activity_map)
    msg.with_reactions(enhanced_reactions)
  end
end