pusher-push-notifications 0.2.2 → 0.3.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
- 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