module Waku::Trackable

Public Instance Methods

create_notification(owner:, recipient: nil, key:, params: {}) click to toggle source
# File lib/waku/activity/trackable.rb, line 9
def create_notification(owner:, recipient: nil, key:, params: {})
  return if owner.blank?
  notification = Activity.new(trackable: self, key: key)
  
  raise Activity::AcitivityTypeError unless notification.valid_trackable?
  
  data = { owner: owner, parameters: params, recipient: recipient, group: group_activity }
  data.each { |key, value| notification.send("#{key}=", value)}
  notification.save!
end

Private Instance Methods

group_activity() click to toggle source
# File lib/waku/activity/trackable.rb, line 22
def group_activity
  return id if is_a?(Post)
  post_id
end