push-apns 1.0.1 → 1.0.2
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.
data/lib/push-apns/version.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
module Push
|
2
2
|
class ConfigurationApns < Push::Configuration
|
3
|
-
store :properties, accessors: [:certificate, :certificate_password, :sandbox, :feedback_poll]
|
3
|
+
store :properties, accessors: [:certificate, :certificate_password, :sandbox, :feedback_poll, :skip_check_for_error]
|
4
4
|
attr_accessible :app, :enabled, :connections, :certificate, :certificate_password, :sandbox, :feedback_poll
|
5
5
|
validates :certificate, :presence => true
|
6
6
|
validates :sandbox, :inclusion => { :in => [true, false] }
|
7
7
|
validates :feedback_poll, :presence => true
|
8
|
+
validates :skip_check_for_error, :inclusion => { :in => [true, false] }, :allow_blank => true
|
8
9
|
|
9
10
|
def name
|
10
11
|
:apns
|
@@ -3,6 +3,8 @@ module Push
|
|
3
3
|
module ApnsSupport
|
4
4
|
class FeedbackReceiver
|
5
5
|
include Push::Daemon::InterruptibleSleep
|
6
|
+
include Push::Daemon::DatabaseReconnectable
|
7
|
+
|
6
8
|
FEEDBACK_TUPLE_BYTES = 38
|
7
9
|
|
8
10
|
def initialize(provider)
|
@@ -32,7 +34,7 @@ module Push
|
|
32
34
|
|
33
35
|
while tuple = connection.read(FEEDBACK_TUPLE_BYTES)
|
34
36
|
timestamp, device = parse_tuple(tuple)
|
35
|
-
create_feedback(timestamp, device)
|
37
|
+
create_feedback(connection, timestamp, device)
|
36
38
|
end
|
37
39
|
rescue StandardError => e
|
38
40
|
Push::Daemon.logger.error(e)
|
@@ -48,10 +50,12 @@ module Push
|
|
48
50
|
[Time.at(failed_at).utc, device]
|
49
51
|
end
|
50
52
|
|
51
|
-
def create_feedback(failed_at, device)
|
53
|
+
def create_feedback(connection, failed_at, device)
|
52
54
|
formatted_failed_at = failed_at.strftime("%Y-%m-%d %H:%M:%S UTC")
|
53
|
-
Push::Daemon.logger.info("[
|
54
|
-
|
55
|
+
Push::Daemon.logger.info("[#{connection.name}: Delivery failed at #{formatted_failed_at} for #{device}")
|
56
|
+
with_database_reconnect_and_retry(connection.name) do
|
57
|
+
Push::FeedbackApns.create!(:app => @provider.configuration[:name], :failed_at => failed_at, :device => device, :follow_up => 'delete')
|
58
|
+
end
|
55
59
|
end
|
56
60
|
end
|
57
61
|
end
|
data/lib/push/message_apns.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: push-apns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: multi_json
|
16
|
-
requirement: &
|
16
|
+
requirement: &70256296415060 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '1.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70256296415060
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: push-core
|
27
|
-
requirement: &
|
27
|
+
requirement: &70256296414560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.0.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70256296414560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sqlite3
|
38
|
-
requirement: &
|
38
|
+
requirement: &70256296414180 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70256296414180
|
47
47
|
description: APNS support for the modular push daemon.
|
48
48
|
email:
|
49
49
|
- tom@tnux.net
|