pushpad 0.11.1 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0f05f2f24a86d00d4d1e13e436eae9f610d8dc57daa43b870f87b651a485b8c
4
- data.tar.gz: 6b29277e18ee9d4b0fac014b80883faf9895f76847cb889cd81efaae9b723ce4
3
+ metadata.gz: 5ad9a17dc685ff8fe33a528b0814aec2596af0c1a6979e0750238326a3a601e5
4
+ data.tar.gz: 4eee2d3b34066a974a7d9648d834298c905a223ca4cad8e5e9092158c0a345fb
5
5
  SHA512:
6
- metadata.gz: 3dae98b1e646c1d50324d2a11d619a3ab89c3fda58bdaa99e3d999c0d1a370eee8920369281395601cd07b29a027a12d5bf5e1b062ce139e7b6499a5fc8cb156
7
- data.tar.gz: 154f7121f0da043d7677dedc9fec25bd892ea247fe36f92743db9dc5e7a8e85175f312db6ed7f1fe13bbbc4051a4b3a56f0363b48aaacaabbb4456062a5153f4
6
+ metadata.gz: 3e6cc505ef35a958b69d4f4763b120d3c8fda7185b447f65fe86730f92fcbf593a25ee234dc345df82d5c542eb963ada0f64e094678b9326eb34c3e4b7039b64
7
+ data.tar.gz: 9cc1392a374f64acfc747b9ed78423946773a8d6be5720a88e7ba16bb419391df2c5a8fb54bb557f57fd42050257dd7b11291bf3c017b80d6dfcb76aab7391dd
data/.travis.yml CHANGED
@@ -1,3 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.2
3
+ - 2.6
4
+ - 2.7
5
+ - 3.0
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Pushpad (https://pushpad.xyz)
3
+ Copyright (c) 2016-2021 Pushpad (https://pushpad.xyz)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -57,11 +57,12 @@ Pushpad.signature_for current_user.id
57
57
  notification = Pushpad::Notification.new({
58
58
  body: "Hello world!",
59
59
  title: "Website Name", # optional, defaults to your project name
60
- target_url: "http://example.com", # optional, defaults to your project website
61
- icon_url: "http://example.com/assets/icon.png", # optional, defaults to the project icon
62
- image_url: "http://example.com/assets/image.png", # optional, an image to display in the notification content
60
+ target_url: "https://example.com", # optional, defaults to your project website
61
+ icon_url: "https://example.com/assets/icon.png", # optional, defaults to the project icon
62
+ image_url: "https://example.com/assets/image.png", # optional, an image to display in the notification content
63
63
  ttl: 604800, # optional, drop the notification after this number of seconds if a device is offline
64
64
  require_interaction: true, # optional, prevent Chrome on desktop from automatically closing the notification after a few seconds
65
+ silent: false, # optional, enable this option if you want a mute notification without any sound
65
66
  urgent: false, # optional, enable this option only for time-sensitive alerts (e.g. incoming phone call)
66
67
  custom_data: "123", # optional, a string that is passed as an argument to action button callbacks
67
68
  # optional, add some action buttons to the notification
@@ -69,8 +70,8 @@ notification = Pushpad::Notification.new({
69
70
  actions: [
70
71
  {
71
72
  title: "My Button 1",
72
- target_url: "http://example.com/button-link", # optional
73
- icon: "http://example.com/assets/button-icon.png", # optional
73
+ target_url: "https://example.com/button-link", # optional
74
+ icon: "https://example.com/assets/button-icon.png", # optional
74
75
  action: "myActionName" # optional
75
76
  }
76
77
  ],
@@ -114,7 +115,7 @@ The methods above return an hash:
114
115
 
115
116
  - `"id"` is the id of the notification on Pushpad
116
117
  - `"scheduled"` is the estimated reach of the notification (i.e. the number of devices to which the notification will be sent, which can be different from the number of users, since a user may receive notifications on multiple devices)
117
- - `"uids"` (`deliver_to` only) are the user IDs that will be actually reached by the notification because they are subscribed to your notifications. For example if you send a notification to `['uid1', 'uid2', 'uid3']`, but only `'uid1'` is subscribed, you will get `['uid1']` in response. Note that if a user has unsubscribed after the last notification sent to him, he may still be reported for one time as subscribed (this is due to [the way](http://blog.pushpad.xyz/2016/05/the-push-api-and-its-wild-unsubscription-mechanism/) the W3C Push API works).
118
+ - `"uids"` (`deliver_to` only) are the user IDs that will be actually reached by the notification because they are subscribed to your notifications. For example if you send a notification to `['uid1', 'uid2', 'uid3']`, but only `'uid1'` is subscribed, you will get `['uid1']` in response. Note that if a user has unsubscribed after the last notification sent to him, he may still be reported for one time as subscribed (this is due to [the way](https://blog.pushpad.xyz/2016/05/the-push-api-and-its-wild-unsubscription-mechanism/) the W3C Push API works).
118
119
  - `"send_at"` is present only for scheduled notifications. The fields `"scheduled"` and `"uids"` are not available in this case.
119
120
 
120
121
  The `id` and `scheduled_count` attribute are also stored on the notification object:
@@ -138,11 +139,12 @@ notification = Pushpad::Notification.find(42)
138
139
  notification.id # => 42
139
140
  notification.title # => "Foo Bar",
140
141
  notification.body # => "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
141
- notification.target_url # => "http://example.com",
142
+ notification.target_url # => "https://example.com",
142
143
  notification.ttl # => 604800,
143
144
  notification.require_interaction # => false,
145
+ notification.silent # => false,
144
146
  notification.urgent # => false,
145
- notification.icon_url # => "http://example.com/assets/icon.png",
147
+ notification.icon_url # => "https://example.com/assets/icon.png",
146
148
 
147
149
  # `created_at` is a `Time` instance
148
150
  notification.created_at.utc.to_s # => "2016-07-06 10:09:14 UTC",
@@ -12,7 +12,7 @@ module Pushpad
12
12
  class ReadonlyError < RuntimeError
13
13
  end
14
14
 
15
- attr_accessor :body, :title, :target_url, :icon_url, :image_url, :ttl, :require_interaction, :urgent, :custom_data, :custom_metrics, :actions, :starred, :send_at
15
+ attr_accessor :body, :title, :target_url, :icon_url, :image_url, :ttl, :require_interaction, :silent, :urgent, :custom_data, :custom_metrics, :actions, :starred, :send_at
16
16
  attr_reader :id, :created_at, :scheduled_count, :successfully_sent_count, :opened_count
17
17
 
18
18
  def initialize(options)
@@ -29,6 +29,7 @@ module Pushpad
29
29
  @image_url = options[:image_url]
30
30
  @ttl = options[:ttl]
31
31
  @require_interaction = options[:require_interaction]
32
+ @silent = options[:silent]
32
33
  @urgent = options[:urgent]
33
34
  @custom_data = options[:custom_data]
34
35
  @custom_metrics = options[:custom_metrics]
@@ -118,6 +119,7 @@ module Pushpad
118
119
  notification_params["image_url"] = self.image_url if self.image_url
119
120
  notification_params["ttl"] = self.ttl if self.ttl
120
121
  notification_params["require_interaction"] = self.require_interaction unless self.require_interaction.nil?
122
+ notification_params["silent"] = self.silent unless self.silent.nil?
121
123
  notification_params["urgent"] = self.urgent unless self.urgent.nil?
122
124
  notification_params["custom_data"] = self.custom_data if self.custom_data
123
125
  notification_params["custom_metrics"] = self.custom_metrics if self.custom_metrics
data/pushpad.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "pushpad"
3
- spec.version = '0.11.1'
3
+ spec.version = '0.12.0'
4
4
  spec.authors = ["Pushpad"]
5
5
  spec.email = ["support@pushpad.xyz"]
6
6
  spec.summary = "Web push notifications for Chrome, Firefox, Opera, Edge and Safari using Pushpad."
@@ -55,10 +55,11 @@ module Pushpad
55
55
  id: 5,
56
56
  title: "Foo Bar",
57
57
  body: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
58
- target_url: "http://example.com",
58
+ target_url: "https://example.com",
59
59
  created_at: "2016-07-06T10:09:14.835Z",
60
60
  ttl: 604800,
61
61
  require_interaction: false,
62
+ silent: false,
62
63
  urgent: false,
63
64
  icon_url: "https://example.com/assets/icon.png",
64
65
  scheduled_count: 2,
@@ -109,10 +110,11 @@ module Pushpad
109
110
  id: 5,
110
111
  title: "Foo Bar",
111
112
  body: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
112
- target_url: "http://example.com",
113
+ target_url: "https://example.com",
113
114
  created_at: "2016-07-06T10:09:14.835Z",
114
115
  ttl: 604800,
115
116
  require_interaction: false,
117
+ silent: false,
116
118
  urgent: false,
117
119
  icon_url: "https://example.com/assets/icon.png",
118
120
  scheduled_count: 2,
@@ -274,19 +276,20 @@ module Pushpad
274
276
  {
275
277
  body: "Example message",
276
278
  title: "Website Name",
277
- target_url: "http://example.com",
278
- icon_url: "http://example.com/assets/icon.png",
279
- image_url: "http://example.com/assets/image.png",
279
+ target_url: "https://example.com",
280
+ icon_url: "https://example.com/assets/icon.png",
281
+ image_url: "https://example.com/assets/image.png",
280
282
  ttl: 604800,
281
283
  require_interaction: true,
284
+ silent: true,
282
285
  urgent: true,
283
286
  custom_data: "123",
284
287
  custom_metrics: ["examples", "another_metric"],
285
288
  actions: [
286
289
  {
287
290
  title: "My Button 1",
288
- target_url: "http://example.com/button-link",
289
- icon: "http://example.com/assets/button-icon.png",
291
+ target_url: "https://example.com/button-link",
292
+ icon: "https://example.com/assets/button-icon.png",
290
293
  action: "myActionName"
291
294
  }
292
295
  ],
@@ -356,19 +359,20 @@ module Pushpad
356
359
  {
357
360
  body: "Example message",
358
361
  title: "Website Name",
359
- target_url: "http://example.com",
360
- icon_url: "http://example.com/assets/icon.png",
361
- image_url: "http://example.com/assets/image.png",
362
+ target_url: "https://example.com",
363
+ icon_url: "https://example.com/assets/icon.png",
364
+ image_url: "https://example.com/assets/image.png",
362
365
  ttl: 604800,
363
366
  require_interaction: true,
367
+ silent: true,
364
368
  urgent: true,
365
369
  custom_data: "123",
366
370
  custom_metrics: ["examples", "another_metric"],
367
371
  actions: [
368
372
  {
369
373
  title: "My Button 1",
370
- target_url: "http://example.com/button-link",
371
- icon: "http://example.com/assets/button-icon.png",
374
+ target_url: "https://example.com/button-link",
375
+ icon: "https://example.com/assets/button-icon.png",
372
376
  action: "myActionName"
373
377
  }
374
378
  ],
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pushpad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.1
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pushpad
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-09 00:00:00.000000000 Z
11
+ date: 2021-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -38,7 +38,7 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- description:
41
+ description:
42
42
  email:
43
43
  - support@pushpad.xyz
44
44
  executables: []
@@ -66,7 +66,7 @@ homepage: https://pushpad.xyz
66
66
  licenses:
67
67
  - MIT
68
68
  metadata: {}
69
- post_install_message:
69
+ post_install_message:
70
70
  rdoc_options: []
71
71
  require_paths:
72
72
  - lib
@@ -81,9 +81,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubyforge_project:
85
- rubygems_version: 2.7.6
86
- signing_key:
84
+ rubygems_version: 3.0.3
85
+ signing_key:
87
86
  specification_version: 4
88
87
  summary: Web push notifications for Chrome, Firefox, Opera, Edge and Safari using
89
88
  Pushpad.