abstract class Notify::PostRepository

Overview

通知の送信先を抽象化するインターフェース。 Slack::PostRepository / Discord::PostRepository が実装する。

Direct Known Subclasses

Defined in:

notify/repository.cr

Instance Method Summary

Instance Method Detail

def send_message(message : Message) #

[View source]
abstract def send_messages(messages : Array(Message), & : Int32 -> ) #

メッセージを送信先の投稿単位(チャンク)ごとに送る。 1 チャンクの送信に成功するたび、そこまでに送信済みのメッセージ件数 (累計)を yield する。呼び出し側はこれを使って送信済み分だけを都度 既読化でき、分割送信の途中失敗時に前半チャンクが重複投稿されるのを防ぐ (issue #94)。Slack は全メッセージを 1 投稿で送るため atomic で、 送信後に一度だけ全件を yield する。


[View source]
def send_messages(messages : Array(Message)) #

[View source]