metamaps/metamaps

View on GitHub
app/models/events/topic_added_to_map.rb

Summary

Maintainability
A
0 mins
Test Coverage
# 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