Class: JPush::Schedule::SchedulePayload
- Inherits:
-
Object
- Object
- JPush::Schedule::SchedulePayload
- Defined in:
- lib/jpush/schedule/schedule_payload.rb
Instance Method Summary collapse
- #build_push_payload(push_payload) ⇒ Object
- #build_trigger(trigger) ⇒ Object
-
#initialize(name, trigger, push_payload, enabled = nil) ⇒ SchedulePayload
constructor
A new instance of SchedulePayload.
- #to_hash ⇒ Object
- #to_update_hash ⇒ Object
Constructor Details
#initialize(name, trigger, push_payload, enabled = nil) ⇒ SchedulePayload
Returns a new instance of SchedulePayload.
8 9 10 11 12 13 |
# 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 |
Instance Method Details
#build_push_payload(push_payload) ⇒ Object
42 43 44 |
# 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) ⇒ Object
37 38 39 40 |
# 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 ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# 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 ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# 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 |