Class: CollavreSlack::SlackMessageDispatcher

Inherits:
Object
  • Object
show all
Defined in:
app/services/collavre_slack/slack_message_dispatcher.rb

Instance Method Summary collapse

Constructor Details

#initialize(channel_link:) ⇒ SlackMessageDispatcher

Returns a new instance of SlackMessageDispatcher.



3
4
5
# File 'app/services/collavre_slack/slack_message_dispatcher.rb', line 3

def initialize(channel_link:)
  @channel_link = channel_link
end

Instance Method Details

#enqueue(message:, sender: nil, comment: nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/services/collavre_slack/slack_message_dispatcher.rb', line 7

def enqueue(message:, sender: nil, comment: nil)
  formatted = MentionMapping.to_slack(message.to_s, channel_link.)
  log = SlackMessageLog.create!(
    slack_channel_link: channel_link,
    sender: sender,
    comment: comment,
    message: formatted,
    status: "queued"
  )
  SlackMessageJob.perform_later(log.id)
  log
end