class ActsAsPushable::Notification

Attributes

device[RW]
message[RW]
options[RW]

Public Class Methods

new(device:, message:, **options) click to toggle source
# File lib/acts_as_pushable/notification.rb, line 3
def initialize(device:, message:, **options)
  @device  = device
  @message = message
  @options = options
end
send(device:, message:, **options) click to toggle source
# File lib/acts_as_pushable/notification.rb, line 9
def self.send(device:, message:, **options)
  self.new(device: device, message: message, **options).perform
end

Private Instance Methods

default_payload() click to toggle source
# File lib/acts_as_pushable/notification.rb, line 17
def default_payload
  {
    popup: true,
    popup_title: nil,
    popup_body: nil,
    popup_type: 'alert',
    popup_ok_button_text: 'Ok',
    popup_cancel_button_text: 'Cancel',
    navigate_to_view: nil,
    navigate_to_view_as_modal: true,
    navigate_to_view_parameters: {},
  }
end
environment() click to toggle source
# File lib/acts_as_pushable/notification.rb, line 31
def environment
  device.push_environment
end
payload() click to toggle source
# File lib/acts_as_pushable/notification.rb, line 35
def payload
  payload = default_payload.keys.map do |key|
    [key, options.delete(key) || default_payload[key]]
  end.to_h

  payload.merge(options)
end