22 lines
623 B
Ruby
22 lines
623 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Events
|
|
class TopicAddedToMap < Event
|
|
after_create :notify_users!
|
|
|
|
def self.publish!(topic, map, user, meta)
|
|
create!(kind: 'topic_added_to_map',
|
|
eventable: topic,
|
|
map: map,
|
|
user: user,
|
|
meta: meta)
|
|
end
|
|
|
|
def notify_users!
|
|
# in the future, notify followers of both the topic, and the map
|
|
NotificationService.notify_followers(eventable, TOPIC_ADDED_TO_MAP, self)
|
|
# NotificationService.notify_followers(map, MAP_RECEIVED_TOPIC, self)
|
|
end
|
|
handle_asynchronously :notify_users!
|
|
end
|
|
end
|