class OfflineBroadcaster::Adapter

Public Class Methods

collect(channel:, receiver:, data:) click to toggle source

Should be overloaded by specified adapter,

So we can customize behaviour on delivering the `data`.
# File lib/offline_broadcaster/adapter.rb, line 17
def self.collect(channel:, receiver:, data:)
  raise NotImplementedError
end
deliver(channel:, receiver:, data:) click to toggle source

Delivers the `data` to receiver if it is online,

else save into DB.
# File lib/offline_broadcaster/adapter.rb, line 6
def self.deliver(channel:, receiver:, data:)
  config = receiver.offline_broadcaster_config
  if receiver.send(config.online_attribute)
    config.adapter.collect(channel: channel, receiver: receiver, data: data)
    return
  end
  Record.create!(channel: channel, receiver: receiver, data: data)
end