jpush 4.0.10 → 4.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,48 +1,48 @@
1
- require 'jpush/push/push_payload'
2
- require 'jpush/schedule/trigger'
3
-
4
- module JPush
5
- module Schedule
6
- class SchedulePayload
7
-
8
- def initialize(name, trigger, push_payload, enabled = nil)
9
- @name = name
10
- @trigger = build_trigger(trigger)
11
- @push_payload = build_push_payload(push_payload)
12
- @enabled = enabled
13
- end
14
-
15
- def to_update_hash
16
- @schedule_payload = {
17
- name: @name,
18
- enabled: @enabled,
19
- trigger: @trigger,
20
- push: @push_payload
21
- }.select { |_, value| !value.nil? }
22
- raise Utils::Exceptions::JPushError, 'Schedule update body can not be empty' if @schedule_payload.empty?
23
- @schedule_payload
24
- end
25
-
26
- def to_hash
27
- @schedule_payload = {
28
- name: @name,
29
- enabled: true,
30
- trigger: @trigger,
31
- push: @push_payload
32
- }
33
- hash = @schedule_payload.select { |_, value| value.nil? }
34
- @schedule_payload
35
- end
36
-
37
- def build_trigger(trigger)
38
- return { single: { time: trigger.strftime('%F %T') } } if trigger.is_a? Time
39
- trigger.is_a?(Trigger) ? trigger.to_hash : nil
40
- end
41
-
42
- def build_push_payload(push_payload)
43
- push_payload.is_a?(Push::PushPayload) ? push_payload.to_hash : nil
44
- end
45
-
46
- end
47
- end
48
- end
1
+ require 'jpush/push/push_payload'
2
+ require 'jpush/schedule/trigger'
3
+
4
+ module JPush
5
+ module Schedule
6
+ class SchedulePayload
7
+
8
+ def initialize(name, trigger, push_payload, enabled = nil)
9
+ @name = name
10
+ @trigger = build_trigger(trigger)
11
+ @push_payload = build_push_payload(push_payload)
12
+ @enabled = enabled
13
+ end
14
+
15
+ def to_update_hash
16
+ @schedule_payload = {
17
+ name: @name,
18
+ enabled: @enabled,
19
+ trigger: @trigger,
20
+ push: @push_payload
21
+ }.select { |_, value| !value.nil? }
22
+ raise Utils::Exceptions::JPushError, 'Schedule update body can not be empty' if @schedule_payload.empty?
23
+ @schedule_payload
24
+ end
25
+
26
+ def to_hash
27
+ @schedule_payload = {
28
+ name: @name,
29
+ enabled: true,
30
+ trigger: @trigger,
31
+ push: @push_payload
32
+ }
33
+ hash = @schedule_payload.select { |_, value| value.nil? }
34
+ @schedule_payload
35
+ end
36
+
37
+ def build_trigger(trigger)
38
+ return { single: { time: trigger.strftime('%F %T') } } if trigger.is_a? Time
39
+ trigger.is_a?(Trigger) ? trigger.to_hash : nil
40
+ end
41
+
42
+ def build_push_payload(push_payload)
43
+ push_payload.is_a?(Push::PushPayload) ? push_payload.to_hash : nil
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -1,53 +1,53 @@
1
- module JPush
2
- module Schedule
3
- class Trigger
4
-
5
- WEEK = ['MON','TUE','WED','THU','FRI','SAT','SUN']
6
- MDAY = ('01'..'31').to_a
7
-
8
- def set_single(time)
9
- @periodical = nil
10
- @single = { time: time.strftime('%F %T') }
11
- self
12
- end
13
-
14
- def set_periodical(start_time, end_time, time, time_unit, frequency, point)
15
- @single = nil
16
- require 'time'
17
- frequency = 100 if frequency > 100
18
- @periodical = {
19
- start: start_time.strftime('%F %T'),
20
- end: end_time.strftime('%F %T'),
21
- time: Time.parse(time).strftime('%T'),
22
- time_unit: time_unit,
23
- frequency: frequency,
24
- point: build_point(time_unit, point)
25
- }
26
- self
27
- end
28
-
29
- def to_hash
30
- @trigger = {}
31
- @trigger[:single] = @single unless @single.nil?
32
- @trigger[:periodical] = @periodical unless @periodical.nil?
33
- @trigger
34
- end
35
-
36
- private
37
-
38
- def build_point(time_unit, point)
39
- array = [point].flatten
40
- point =
41
- case time_unit.upcase
42
- when 'DAY'
43
- nil
44
- when 'WEEK'
45
- WEEK & array.map{ |e| e.upcase }
46
- when 'MONTH'
47
- MDAY & array
48
- end
49
- end
50
-
51
- end
52
- end
53
- end
1
+ module JPush
2
+ module Schedule
3
+ class Trigger
4
+
5
+ WEEK = ['MON','TUE','WED','THU','FRI','SAT','SUN']
6
+ MDAY = ('01'..'31').to_a
7
+
8
+ def set_single(time)
9
+ @periodical = nil
10
+ @single = { time: time.strftime('%F %T') }
11
+ self
12
+ end
13
+
14
+ def set_periodical(start_time, end_time, time, time_unit, frequency, point)
15
+ @single = nil
16
+ require 'time'
17
+ frequency = 100 if frequency > 100
18
+ @periodical = {
19
+ start: start_time.strftime('%F %T'),
20
+ end: end_time.strftime('%F %T'),
21
+ time: Time.parse(time).strftime('%T'),
22
+ time_unit: time_unit,
23
+ frequency: frequency,
24
+ point: build_point(time_unit, point)
25
+ }
26
+ self
27
+ end
28
+
29
+ def to_hash
30
+ @trigger = {}
31
+ @trigger[:single] = @single unless @single.nil?
32
+ @trigger[:periodical] = @periodical unless @periodical.nil?
33
+ @trigger
34
+ end
35
+
36
+ private
37
+
38
+ def build_point(time_unit, point)
39
+ array = [point].flatten
40
+ point =
41
+ case time_unit.upcase
42
+ when 'DAY'
43
+ nil
44
+ when 'WEEK'
45
+ WEEK & array.map{ |e| e.upcase }
46
+ when 'MONTH'
47
+ MDAY & array
48
+ end
49
+ end
50
+
51
+ end
52
+ end
53
+ end
@@ -1,53 +1,53 @@
1
- require 'jpush/schedule/schedule_payload'
2
- require 'jpush/http/client'
3
- require 'jpush/handler'
4
-
5
- module JPush
6
-
7
- class Schedules < Handler
8
-
9
- def initialize(jpush)
10
- @jpush = jpush;
11
- end
12
-
13
- # POST https://api.jpush.cn/v3/schedules
14
- # 创建一个新的定时任务
15
- def create(schedule_payload)
16
- schedule_payload = schedule_payload.is_a?(JPush::Schedule::SchedulePayload) ? schedule_payload : nil
17
- body = schedule_payload.to_hash
18
- Http::Client.post(@jpush, base_url, body: body)
19
- end
20
-
21
- # GET https://api.jpush.cn/v3/schedules?page=
22
- # 获取当前有效(endtime未过期)的 schedule 列表
23
- def tasks(page = nil)
24
- Http::Client.get(@jpush, base_url, params: { page: page })
25
- end
26
-
27
- # 获取指定的定时任务
28
- # GET https://api.jpush.cn/v3/schedules/{schedule_id}
29
- def show(schedule_id)
30
- Http::Client.get(@jpush, base_url + schedule_id)
31
- end
32
-
33
- # 修改指定的Schedule
34
- # PUT https://api.jpush.cn/v3/schedules/{schedule_id}
35
- def update(schedule_id, name: nil, enabled: nil, trigger: nil, push: nil)
36
- body = JPush::Schedule::SchedulePayload.new(name, trigger, push, enabled).to_update_hash
37
- Http::Client.put(@jpush, base_url + schedule_id, body: body)
38
- end
39
-
40
- # 删除指定的Schedule任务
41
- # DELETE https://api.jpush.cn/v3/schedules/{schedule_id}
42
- def delete(schedule_id)
43
- Http::Client.delete(@jpush, base_url + schedule_id)
44
- end
45
-
46
- private
47
-
48
- def base_url
49
- 'https://api.jpush.cn/v3/schedules/'
50
- end
51
-
52
- end
53
- end
1
+ require 'jpush/schedule/schedule_payload'
2
+ require 'jpush/http/client'
3
+ require 'jpush/handler'
4
+
5
+ module JPush
6
+
7
+ class Schedules < Handler
8
+
9
+ def initialize(jpush)
10
+ @jpush = jpush;
11
+ end
12
+
13
+ # POST https://api.jpush.cn/v3/schedules
14
+ # 创建一个新的定时任务
15
+ def create(schedule_payload)
16
+ schedule_payload = schedule_payload.is_a?(JPush::Schedule::SchedulePayload) ? schedule_payload : nil
17
+ body = schedule_payload.to_hash
18
+ Http::Client.post(@jpush, base_url, body: body)
19
+ end
20
+
21
+ # GET https://api.jpush.cn/v3/schedules?page=
22
+ # 获取当前有效(endtime未过期)的 schedule 列表
23
+ def tasks(page = nil)
24
+ Http::Client.get(@jpush, base_url, params: { page: page })
25
+ end
26
+
27
+ # 获取指定的定时任务
28
+ # GET https://api.jpush.cn/v3/schedules/{schedule_id}
29
+ def show(schedule_id)
30
+ Http::Client.get(@jpush, base_url + schedule_id)
31
+ end
32
+
33
+ # 修改指定的Schedule
34
+ # PUT https://api.jpush.cn/v3/schedules/{schedule_id}
35
+ def update(schedule_id, name: nil, enabled: nil, trigger: nil, push: nil)
36
+ body = JPush::Schedule::SchedulePayload.new(name, trigger, push, enabled).to_update_hash
37
+ Http::Client.put(@jpush, base_url + schedule_id, body: body)
38
+ end
39
+
40
+ # 删除指定的Schedule任务
41
+ # DELETE https://api.jpush.cn/v3/schedules/{schedule_id}
42
+ def delete(schedule_id)
43
+ Http::Client.delete(@jpush, base_url + schedule_id)
44
+ end
45
+
46
+ private
47
+
48
+ def base_url
49
+ 'https://api.jpush.cn/v3/schedules/'
50
+ end
51
+
52
+ end
53
+ end
@@ -1,34 +1,34 @@
1
- module JPush
2
- module Utils
3
- module Exceptions
4
-
5
- class JPushError < StandardError
6
- attr_reader :message
7
- def initialize(message)
8
- @message = message
9
- end
10
- end
11
-
12
- class JPushResponseError < JPushError
13
- attr_reader :http_code, :error_code, :error_message
14
-
15
- def initialize(http_code, error_code, error_message)
16
- @http_code, @error_code, @error_message = http_code, error_code, error_message
17
- @error_message = "UnknownError[#{@http_code}]." if @error_message.nil?
18
- super("#{@error_message} (error code: #{@error_code}) ")
19
- end
20
-
21
- def to_s
22
- "#{@message}. http status code: #{@http_code}"
23
- end
24
- end
25
-
26
- class TimeOutError < JPushError
27
- def initialize(error)
28
- super("#{error.class} was raised, please rescue it")
29
- end
30
- end
31
-
32
- end
33
- end
34
- end
1
+ module JPush
2
+ module Utils
3
+ module Exceptions
4
+
5
+ class JPushError < StandardError
6
+ attr_reader :message
7
+ def initialize(message)
8
+ @message = message
9
+ end
10
+ end
11
+
12
+ class JPushResponseError < JPushError
13
+ attr_reader :http_code, :error_code, :error_message
14
+
15
+ def initialize(http_code, error_code, error_message)
16
+ @http_code, @error_code, @error_message = http_code, error_code, error_message
17
+ @error_message = "UnknownError[#{@http_code}]." if @error_message.nil?
18
+ super("#{@error_message} (error code: #{@error_code}) ")
19
+ end
20
+
21
+ def to_s
22
+ "#{@message}. http status code: #{@http_code}"
23
+ end
24
+ end
25
+
26
+ class TimeOutError < JPushError
27
+ def initialize(error)
28
+ super("#{error.class} was raised, please rescue it")
29
+ end
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -1,3 +1,3 @@
1
- module JPush
2
- VERSION = "4.0.10"
3
- end
1
+ module JPush
2
+ VERSION = "4.0.11"
3
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jpush
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.10
4
+ version: 4.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - JPush Offical
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-26 00:00:00.000000000 Z
11
+ date: 2020-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler