Files
fizzy/app/models/notifier.rb
T
Jorge Manrubia 9db675e589 Format
2025-04-22 14:15:40 +02:00

36 lines
638 B
Ruby

class Notifier
attr_reader :source
class << self
def for(source)
case source
when Event
"Notifier::Events::#{source.action.classify}".safe_constantize&.new(source)
when ::Mention
Notifier::Mention.new(source)
end
end
end
def notify
if should_notify?
recipients.map do |recipient|
Notification.create! user: recipient, source: source, resource: resource, creator: creator
end
end
end
private
def initialize(source)
@source = source
end
def should_notify?
!creator.system?
end
def resource
source
end
end