pusher-push-notifications 0.2.2 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: bc40632651f3ab61c6e2ab933599219396ceb57ff89fc44e56d53781123cc37c
4
- data.tar.gz: dcd21f82ed2f6ad75213a121b5cf2a89df4247d385885f18ebba861eb0d859f4
2
+ SHA1:
3
+ metadata.gz: eda3cdb7f34c319c2fe1f8ab44547a1e26b246ec
4
+ data.tar.gz: 4f9060aeb8ae3a31742262ebf31cfca16b9aad89
5
5
  SHA512:
6
- metadata.gz: 9f87a528467079d67e2660332e10aa0b38ef80e01f5da00bfee631ca4747b1cf714b92e36d11e23ad7ce35f1d2dc377e1593b4a1341435dfaa27c9adfcb7fa7e
7
- data.tar.gz: 1ff17ea95c2ee6ae6db9e481b90d1b65c44688f4b5db91c4141805efc230a04bae42220320e00ac9c058b9e02df49182a79e4ecd2e52fac928cfc6c2bbab800b
6
+ metadata.gz: 25405a714c8111e4410ae6c8b8e72e3c37e38205e1572eba3632a5859f006ec561328f8846d7e311e2cf77e1702e44ff2623102148b594ff9113ec47ffed9c22
7
+ data.tar.gz: 6bcb05ca8c75210f8171edddfd9f5872ec82d64e0f22a8acb0c422f6908bfa81f42de73c41544a94ff2fab76a07fb50616e24fac5190d67c1d3254138a476669
data/.env.sample CHANGED
@@ -1,2 +1,4 @@
1
- PUSHER_INSTANCE_ID=your-pusher-instance-id
2
- PUSHER_SECRET_KEY=your-pusher-secret-key
1
+ # Replace with your own Pusher Instance ID and Secret Key
2
+
3
+ export PUSHER_INSTANCE_ID=97c56dfe-58f5-408b-ab3a-158e51a860f2
4
+ export PUSHER_SECRET_KEY=3B397552E080252048FE03009C1253A
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pusher-push-notifications (0.2.2)
4
+ pusher-push-notifications (0.3.0)
5
5
  caze
6
6
  rest-client
7
7
 
@@ -20,6 +20,7 @@ module Pusher
20
20
  def post(resource, payload = {})
21
21
  url = build_url(resource)
22
22
  body = payload.to_json
23
+
23
24
  RestClient::Request.execute(
24
25
  method: :post, url: url,
25
26
  payload: body, headers: headers
@@ -8,9 +8,22 @@ module Pusher
8
8
  class Publish
9
9
  include Caze
10
10
 
11
+ class PublishError < RuntimeError; end
12
+
11
13
  export :call, as: :publish
12
14
 
13
15
  def initialize(interests:, payload: {})
16
+ valid_interest_pattern = /^(_|\-|=|@|,|\.|:|[A-Z]|[a-z]|[0-9])*$/
17
+
18
+ interests.each do |interest|
19
+ if (is_invalid_interest_name = !valid_interest_pattern.match(interest))
20
+ raise PublishError, "Invalid interest name \nMax 164 characters and can only contain ASCII upper/lower-case letters, numbers or one of _-=@,.:"
21
+ end
22
+ end
23
+
24
+ raise PublishError, 'Must provide at least one interest' if interests.length == 0
25
+ raise PublishError, "Number of interests #{interests.length} exceeds maximum of 100" if interests.length > 100
26
+
14
27
  @interests = interests
15
28
  @payload = payload
16
29
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Pusher
4
4
  module PushNotifications
5
- VERSION = '0.2.2'
5
+ VERSION = '0.3.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pusher-push-notifications
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lucas Medeiros
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-04-06 00:00:00.000000000 Z
12
+ date: 2018-04-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: caze
@@ -230,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
230
  version: '0'
231
231
  requirements: []
232
232
  rubyforge_project:
233
- rubygems_version: 2.7.6
233
+ rubygems_version: 2.6.14
234
234
  signing_key:
235
235
  specification_version: 4
236
236
  summary: Pusher Push Notifications Ruby server SDK