class JPush::Push::PushPayload
Attributes
cid[R]
Public Class Methods
new(platform: , audience: , notification: nil, message: nil)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 10 def initialize(platform: , audience: , notification: nil, message: nil) @platform = 'all' == platform ? 'all' : build_platform(platform) @audience = 'all' == audience ? 'all' : build_audience(audience) @notification = build_notification(notification) unless notification.nil? @message = build_message(message) unless message.nil? end
Public Instance Methods
set_cid(cid)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 32 def set_cid(cid) @cid= cid self end
set_message(msg_content, title: nil, content_type: nil, extras: nil)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 17 def set_message(msg_content, title: nil, content_type: nil, extras: nil) @message = build_message(msg_content, title, content_type, extras) self end
set_options(options)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 27 def set_options(options) @options = options self end
set_sms_message(sms_message)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 22 def set_sms_message(sms_message) @sms_message = sms_message self end
to_hash()
click to toggle source
# File lib/jpush/push/push_payload.rb, line 37 def to_hash @push_payload = { platform: @platform, audience: @audience, notification: @notification, message: @message, sms_message: @sms_message, options: { apns_production: false }.merge(@options.nil? ? {} : @options), cid: @cid }.select { |_, value| !value.nil? } end
Private Instance Methods
build_audience(audience)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 56 def build_audience(audience) audience.is_a?(Audience) ? audience.to_hash : nil end
build_message(msg_content, title = nil, content_type = nil, extras = nil)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 65 def build_message(msg_content, title = nil, content_type = nil, extras = nil) extras = (extras.nil? || !extras.is_a?(Hash) || extras.empty?) ? nil : extras message = { msg_content: msg_content, title: title, content_type: content_type, extras: extras }.select { |_, value| !value.nil? } end
build_notification(notification)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 60 def build_notification(notification) return {alert: notification} if notification.is_a?(String) notification.is_a?(Notification) ? notification.to_hash : nil end
build_platform(platform)
click to toggle source
# File lib/jpush/push/push_payload.rb, line 51 def build_platform(platform) return platform if platform.is_a? Array return [platform] end