urbanairship 5.5.1 → 5.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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, extras: nil)
18
- fail ArgumentError, 'Name must be set' if @name.nil?
19
- payload = {'name' => @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['extras'] = extras unless extras.nil?
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 @name.nil?
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, extras: nil)
56
- fail ArgumentError, 'Name must be set' if @name.nil?
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 extras.nil?
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['extras'] = extras unless extras.nil?
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 @name.nil?
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 @name.nil?
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, :audience, :notification, :options,
12
- :device_types, :message, :in_app
13
- attr_reader :device_types, :audience
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: @audience,
27
- notification: @notification,
28
- options: @options,
29
- device_types: @device_types,
30
- message: @message,
31
- in_app: @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)
@@ -1,3 +1,3 @@
1
1
  module Urbanairship
2
- VERSION = '5.5.1'
2
+ VERSION = '5.9.0'
3
3
  end
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.5.1
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-04-14 00:00:00.000000000 Z
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: []