class Grocer::SafariNotification
Public: A specialized form of a Grocer::Notification
for sending Safari push notifications
Examples
Grocer::SafariNotification.new( device_token: '...', title: '...', body: '...', action: '...', url_args: ['...'] ) #=> { "aps": { "alert": { "title": "...", "body": "...", "action": "..." }, "url-args": ["..."] } }
Public Class Methods
new(payload = {})
click to toggle source
Calls superclass method
Grocer::Notification::new
# File lib/grocer/safari_notification.rb, line 30 def initialize(payload = {}) self.alert = {} super(payload) end
Public Instance Methods
action()
click to toggle source
# File lib/grocer/safari_notification.rb, line 53 def action alert[:action] end
action=(action)
click to toggle source
# File lib/grocer/safari_notification.rb, line 57 def action=(action) alert[:action] = action @encoded_payload = nil end
body()
click to toggle source
# File lib/grocer/safari_notification.rb, line 44 def body alert[:body] end
body=(body)
click to toggle source
# File lib/grocer/safari_notification.rb, line 48 def body=(body) alert[:body] = body @encoded_payload = nil end
title()
click to toggle source
# File lib/grocer/safari_notification.rb, line 35 def title alert[:title] end
title=(title)
click to toggle source
# File lib/grocer/safari_notification.rb, line 39 def title=(title) alert[:title] = title @encoded_payload = nil end
url_args()
click to toggle source
# File lib/grocer/safari_notification.rb, line 62 def url_args Array(@url_args) end
url_args=(args)
click to toggle source
# File lib/grocer/safari_notification.rb, line 66 def url_args=(args) @url_args = args.dup @encoded_payload = nil end
Private Instance Methods
payload_hash()
click to toggle source
# File lib/grocer/safari_notification.rb, line 79 def payload_hash aps_hash = { alert: alert } aps_hash[:'url-args'] = url_args { aps: aps_hash } end
validate_payload()
click to toggle source
Calls superclass method
Grocer::Notification#validate_payload
# File lib/grocer/safari_notification.rb, line 73 def validate_payload fail ArgumentError.new('missing title') unless title fail ArgumentError.new('missing body') unless body super end