Sha256: 29717ffd1d4edfe105a9191cf17b37a241d6a7be9c665c5185b2827329816dd1
Contents?: true
Size: 948 Bytes
Versions: 3
Compression:
Stored size: 948 Bytes
Contents
module JeraPush::Services class SendToDeviceService < JeraPush::Services::BaseService def initialize(push:) super @push = push @device = @push.device end def call validate_device return @errors if @errors.present? create_message add_devices_to_message send_push @message end private def validate_device @errors.add(:base, message: I18n.t('jera_push.services.errors.not_found.device')) if @device.blank? end def create_message @message = JeraPush::Message.create(title: @push.notification.title, body: @push.notification.body, data: @push.data) end def add_devices_to_message @message_device = @message.message_devices.create(device: @device) end def send_push JeraPush::Services::SendPushService.new(push: @push, message: @message, message_device: @message_device ).call end end end
Version data entries
3 entries across 3 versions & 1 rubygems