class JPush::Schedule::SchedulePayload
Public Class Methods
new(name, trigger, push_payload, enabled = nil)
click to toggle source
# File lib/jpush/schedule/schedule_payload.rb, line 8 def initialize(name, trigger, push_payload, enabled = nil) @name = name @trigger = build_trigger(trigger) @push_payload = build_push_payload(push_payload) @enabled = enabled end
Public Instance Methods
build_push_payload(push_payload)
click to toggle source
# File lib/jpush/schedule/schedule_payload.rb, line 42 def build_push_payload(push_payload) push_payload.is_a?(Push::PushPayload) ? push_payload.to_hash : nil end
build_trigger(trigger)
click to toggle source
# File lib/jpush/schedule/schedule_payload.rb, line 37 def build_trigger(trigger) return { single: { time: trigger.strftime('%F %T') } } if trigger.is_a? Time trigger.is_a?(Trigger) ? trigger.to_hash : nil end
to_hash()
click to toggle source
# File lib/jpush/schedule/schedule_payload.rb, line 26 def to_hash @schedule_payload = { name: @name, enabled: true, trigger: @trigger, push: @push_payload } hash = @schedule_payload.select { |_, value| value.nil? } @schedule_payload end
to_update_hash()
click to toggle source
# File lib/jpush/schedule/schedule_payload.rb, line 15 def to_update_hash @schedule_payload = { name: @name, enabled: @enabled, trigger: @trigger, push: @push_payload }.select { |_, value| !value.nil? } raise Utils::Exceptions::JPushError, 'Schedule update body can not be empty' if @schedule_payload.empty? @schedule_payload end