urbanairship 5.5.1 → 5.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +30 -0
- data/docs/ab_tests.rst +162 -0
- data/docs/attributes.rst +52 -0
- data/docs/automations.rst +212 -0
- data/docs/create_and_send.rst +62 -0
- data/docs/index.rst +3 -0
- data/docs/push.rst +24 -0
- data/docs/sms.rst +19 -0
- data/docs/static_lists.rst +2 -2
- data/lib/urbanairship.rb +8 -0
- data/lib/urbanairship/ab_tests/ab_test.rb +89 -0
- data/lib/urbanairship/ab_tests/experiment.rb +45 -0
- data/lib/urbanairship/ab_tests/variant.rb +34 -0
- data/lib/urbanairship/automations/automation.rb +105 -0
- data/lib/urbanairship/automations/pipeline.rb +52 -0
- data/lib/urbanairship/client.rb +22 -9
- data/lib/urbanairship/common.rb +1 -0
- data/lib/urbanairship/devices/attribute.rb +54 -0
- data/lib/urbanairship/devices/channel_uninstall.rb +1 -1
- data/lib/urbanairship/devices/create_and_send.rb +8 -14
- data/lib/urbanairship/devices/devicelist.rb +21 -0
- data/lib/urbanairship/devices/email.rb +30 -40
- data/lib/urbanairship/devices/email_notification.rb +43 -50
- data/lib/urbanairship/devices/mms_notification.rb +26 -34
- data/lib/urbanairship/devices/open_channel.rb +89 -44
- data/lib/urbanairship/devices/segment.rb +6 -9
- data/lib/urbanairship/devices/sms.rb +47 -19
- data/lib/urbanairship/devices/sms_notification.rb +4 -9
- data/lib/urbanairship/devices/static_lists.rb +11 -12
- data/lib/urbanairship/push/push.rb +19 -9
- data/lib/urbanairship/push/schedule.rb +9 -0
- data/lib/urbanairship/version.rb +1 -1
- metadata +14 -5
@@ -11,14 +11,13 @@ module Urbanairship
|
|
11
11
|
def initialize(client: required('client'))
|
12
12
|
fail ArgumentError, 'Client cannot be set to nil' if client.nil?
|
13
13
|
@client = client
|
14
|
-
@name = nil
|
15
14
|
end
|
16
15
|
|
17
|
-
def create(description: nil,
|
18
|
-
fail ArgumentError, 'Name must be set' if
|
19
|
-
payload = {'name'
|
16
|
+
def create(description: nil, extra: nil)
|
17
|
+
fail ArgumentError, 'Name must be set' if name.nil?
|
18
|
+
payload = {'name': name}
|
20
19
|
payload['description'] = description unless description.nil?
|
21
|
-
payload['
|
20
|
+
payload['extra'] = extra unless extra.nil?
|
22
21
|
|
23
22
|
response = @client.send_request(
|
24
23
|
method: 'POST',
|
@@ -31,7 +30,7 @@ module Urbanairship
|
|
31
30
|
end
|
32
31
|
|
33
32
|
def upload(csv_file: required('csv_file'), gzip: false)
|
34
|
-
fail ArgumentError, 'Name must be set' if
|
33
|
+
fail ArgumentError, 'Name must be set' if name.nil?
|
35
34
|
if gzip
|
36
35
|
response = @client.send_request(
|
37
36
|
method: 'PUT',
|
@@ -52,13 +51,13 @@ module Urbanairship
|
|
52
51
|
response
|
53
52
|
end
|
54
53
|
|
55
|
-
def update(description: nil,
|
56
|
-
fail ArgumentError, 'Name must be set' if
|
54
|
+
def update(description: nil, extra: nil)
|
55
|
+
fail ArgumentError, 'Name must be set' if name.nil?
|
57
56
|
fail ArgumentError,
|
58
|
-
'Either description or extras must be set to a value' if description.nil? and
|
57
|
+
'Either description or extras must be set to a value' if description.nil? and extra.nil?
|
59
58
|
payload = {}
|
60
59
|
payload['description'] = description unless description.nil?
|
61
|
-
payload['
|
60
|
+
payload['extra'] = extra unless extra.nil?
|
62
61
|
response = @client.send_request(
|
63
62
|
method: 'PUT',
|
64
63
|
body: JSON.dump(payload),
|
@@ -70,7 +69,7 @@ module Urbanairship
|
|
70
69
|
end
|
71
70
|
|
72
71
|
def lookup
|
73
|
-
fail ArgumentError, 'Name must be set' if
|
72
|
+
fail ArgumentError, 'Name must be set' if name.nil?
|
74
73
|
response = @client.send_request(
|
75
74
|
method: 'GET',
|
76
75
|
url: LISTS_URL + @name
|
@@ -80,7 +79,7 @@ module Urbanairship
|
|
80
79
|
end
|
81
80
|
|
82
81
|
def delete
|
83
|
-
fail ArgumentError, 'Name must be set' if
|
82
|
+
fail ArgumentError, 'Name must be set' if name.nil?
|
84
83
|
response = @client.send_request(
|
85
84
|
method: 'DELETE',
|
86
85
|
url: LISTS_URL + @name
|
@@ -8,9 +8,17 @@ module Urbanairship
|
|
8
8
|
|
9
9
|
# A Push Notification.
|
10
10
|
class Push
|
11
|
-
attr_writer :client
|
12
|
-
|
13
|
-
|
11
|
+
attr_writer :client
|
12
|
+
|
13
|
+
attr_accessor :device_types,
|
14
|
+
:audience,
|
15
|
+
:notification,
|
16
|
+
:options,
|
17
|
+
:message,
|
18
|
+
:in_app,
|
19
|
+
:campaigns,
|
20
|
+
:localizations
|
21
|
+
|
14
22
|
include Urbanairship::Common
|
15
23
|
include Urbanairship::Loggable
|
16
24
|
|
@@ -23,12 +31,14 @@ module Urbanairship
|
|
23
31
|
|
24
32
|
def payload
|
25
33
|
compact_helper({
|
26
|
-
audience:
|
27
|
-
notification:
|
28
|
-
options:
|
29
|
-
device_types:
|
30
|
-
message:
|
31
|
-
in_app:
|
34
|
+
audience: audience,
|
35
|
+
notification: notification,
|
36
|
+
options: options,
|
37
|
+
device_types: device_types,
|
38
|
+
message: message,
|
39
|
+
in_app: in_app,
|
40
|
+
campaigns: campaigns,
|
41
|
+
localizations: localizations
|
32
42
|
})
|
33
43
|
end
|
34
44
|
|
@@ -14,6 +14,15 @@ module Urbanairship
|
|
14
14
|
payload(:local_scheduled_time, datetime)
|
15
15
|
end
|
16
16
|
|
17
|
+
# Uses predictive analysis to send push at optimal time
|
18
|
+
def optimal_scheduled_time(date)
|
19
|
+
{
|
20
|
+
'best_time': {
|
21
|
+
'send_date': date
|
22
|
+
}
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
17
26
|
private
|
18
27
|
|
19
28
|
def payload(name, time)
|
data/lib/urbanairship/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: urbanairship
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Airship
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -138,6 +138,9 @@ files:
|
|
138
138
|
- bin/console
|
139
139
|
- bin/setup
|
140
140
|
- docs/Makefile
|
141
|
+
- docs/ab_tests.rst
|
142
|
+
- docs/attributes.rst
|
143
|
+
- docs/automations.rst
|
141
144
|
- docs/channel_uninstall.rst
|
142
145
|
- docs/conf.py
|
143
146
|
- docs/create_and_send.rst
|
@@ -157,9 +160,15 @@ files:
|
|
157
160
|
- docs/tags.rst
|
158
161
|
- example/pusher.rb
|
159
162
|
- lib/urbanairship.rb
|
163
|
+
- lib/urbanairship/ab_tests/ab_test.rb
|
164
|
+
- lib/urbanairship/ab_tests/experiment.rb
|
165
|
+
- lib/urbanairship/ab_tests/variant.rb
|
166
|
+
- lib/urbanairship/automations/automation.rb
|
167
|
+
- lib/urbanairship/automations/pipeline.rb
|
160
168
|
- lib/urbanairship/client.rb
|
161
169
|
- lib/urbanairship/common.rb
|
162
170
|
- lib/urbanairship/configuration.rb
|
171
|
+
- lib/urbanairship/devices/attribute.rb
|
163
172
|
- lib/urbanairship/devices/channel_tags.rb
|
164
173
|
- lib/urbanairship/devices/channel_uninstall.rb
|
165
174
|
- lib/urbanairship/devices/create_and_send.rb
|
@@ -188,7 +197,7 @@ licenses:
|
|
188
197
|
- Apache-2.0
|
189
198
|
metadata:
|
190
199
|
allowed_push_host: https://rubygems.org
|
191
|
-
post_install_message:
|
200
|
+
post_install_message:
|
192
201
|
rdoc_options: []
|
193
202
|
require_paths:
|
194
203
|
- lib
|
@@ -204,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
204
213
|
version: '0'
|
205
214
|
requirements: []
|
206
215
|
rubygems_version: 3.0.1
|
207
|
-
signing_key:
|
216
|
+
signing_key:
|
208
217
|
specification_version: 4
|
209
218
|
summary: Ruby Gem for using the Airship API
|
210
219
|
test_files: []
|