pushr-apns 1.0.0.pre.3 → 1.0.0.pre.4
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
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 003fa0a9aa2c107746eb4affaa5a22ff13c39914
|
4
|
+
data.tar.gz: 20aa0e25b3561f31d0fe2fe4bcc0f13b76beaf4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d6a328bb38292445943e19b7fbd9d8ffa7eec962b16d4534afe26c3b930e2d361ec6dc9a96cdeb2587a094e7442db71245f168460acee8bcf8d607a19868fb0
|
7
|
+
data.tar.gz: 0712b0857645b13c3be749bbf0b6f6a89eadcac3c8292efab28512badafe86309027bd72ec3d589b016f8f9ef841008f1afabdee13dd2f71e95474cd0d69de5a
|
data/lib/pushr-apns/version.rb
CHANGED
@@ -97,8 +97,6 @@ module Pushr
|
|
97
97
|
if tuple = read(ERROR_TUPLE_BYTES)
|
98
98
|
_, code, notification_id = tuple.unpack('ccN')
|
99
99
|
|
100
|
-
# TODO: if error 8, create feedback object to remove
|
101
|
-
# Pushr::FeedbackApns.new(app: notification.app, failed_at: Time.now, device: notification.device, follow_up: 'delete').save
|
102
100
|
description = APN_ERRORS[code.to_i] || 'Unknown error. Possible push bug?'
|
103
101
|
error = Pushr::Daemon::DeliveryError.new(code, notification_id, description, 'APNS')
|
104
102
|
else
|
data/lib/pushr/message_apns.rb
CHANGED
@@ -10,6 +10,7 @@ module Pushr
|
|
10
10
|
validates :priority, inclusion: { in: [5, 10] }
|
11
11
|
validates :content_available, inclusion: { in: [1] }, allow_nil: true
|
12
12
|
validate :max_payload_size
|
13
|
+
validate :priority_with_content_available
|
13
14
|
|
14
15
|
def alert=(alert)
|
15
16
|
if alert.is_a?(Hash)
|
@@ -73,5 +74,11 @@ module Pushr
|
|
73
74
|
errors.add(:payload, 'APN notification cannot be larger than 256 bytes. Try condensing your alert and device attributes.')
|
74
75
|
end
|
75
76
|
end
|
77
|
+
|
78
|
+
def priority_with_content_available
|
79
|
+
if content_available == 1 && priority != 5 && !(alert || badge || sound)
|
80
|
+
errors.add(:priority, 'Priority should be 5 if content_available = 1 and no alert/badge/sound')
|
81
|
+
end
|
82
|
+
end
|
76
83
|
end
|
77
84
|
end
|
@@ -17,7 +17,7 @@ describe Pushr::MessageApns do
|
|
17
17
|
|
18
18
|
describe 'save' do
|
19
19
|
let(:message) do
|
20
|
-
hsh = { app: 'app_name', device: 'a' * 64,
|
20
|
+
hsh = { app: 'app_name', device: 'a' * 64, alert: 'message', badge: 1, sound: '1.aiff',
|
21
21
|
expiry: 24 * 60 * 60, attributes_for_device: { key: 'test' }, priority: 10 }
|
22
22
|
Pushr::MessageApns.new(hsh)
|
23
23
|
end
|
@@ -32,5 +32,49 @@ describe Pushr::MessageApns do
|
|
32
32
|
it 'should respond to to_message' do
|
33
33
|
expect(message.to_message).to be_kind_of(String)
|
34
34
|
end
|
35
|
+
|
36
|
+
context 'content-available: 1' do
|
37
|
+
context 'with no alert/badge/sound' do
|
38
|
+
let(:message) do
|
39
|
+
hsh = { app: 'app_name', device: 'a' * 64, expiry: 24 * 60 * 60, priority: priority, content_available: 1 }
|
40
|
+
Pushr::MessageApns.new(hsh)
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'with priority 5' do
|
44
|
+
let(:priority) { 5 }
|
45
|
+
it 'should have priority 5' do
|
46
|
+
expect(message.save).to eql true
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context 'with priority 10' do
|
51
|
+
let(:priority) { 10 }
|
52
|
+
it 'should be invalid if priority 10' do
|
53
|
+
expect(message.save).to eql false
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'with alert/badge/sound' do
|
59
|
+
let(:message) do
|
60
|
+
hsh = { app: 'app_name', alert: 'test', device: 'a' * 64, expiry: 24 * 60 * 60, priority: priority, content_available: 1 }
|
61
|
+
Pushr::MessageApns.new(hsh)
|
62
|
+
end
|
63
|
+
|
64
|
+
context 'with priority 5' do
|
65
|
+
let(:priority) { 5 }
|
66
|
+
it 'should have priority 5' do
|
67
|
+
expect(message.save).to eql true
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
context 'with priority 10' do
|
72
|
+
let(:priority) { 10 }
|
73
|
+
it 'should be valid if priority 10' do
|
74
|
+
expect(message.save).to eql true
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
35
79
|
end
|
36
80
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pushr-apns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.pre.
|
4
|
+
version: 1.0.0.pre.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Pesman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|