wireframe-apn_on_rails 0.3.0.20110214171409 → 0.3.0.20110214174036
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/apn_on_rails/app/models/apn/notification.rb +14 -15
- metadata +3 -3
@@ -68,28 +68,27 @@ class APN::Notification < APN::Base
|
|
68
68
|
|
69
69
|
# Opens a connection to the Apple APN server and attempts to batch deliver
|
70
70
|
# an Array of notifications.
|
71
|
-
#
|
72
|
-
# This method expects an Array of APN::Notifications. If no parameter is passed
|
73
|
-
# in then it will use the following:
|
74
|
-
# APN::Notification.all(:conditions => {:sent_at => nil})
|
75
|
-
#
|
76
|
-
# As each APN::Notification is sent the <tt>sent_at</tt> column will be timestamped,
|
77
|
-
# so as to not be sent again.
|
78
|
-
#
|
79
71
|
# This can be run from the following Rake task:
|
80
72
|
# $ rake apn:notifications:deliver
|
81
|
-
def send_notifications(notifications
|
82
|
-
return if notifications.nil? || notifications.empty?
|
73
|
+
def send_notifications(notifications)
|
83
74
|
sent_ids = []
|
75
|
+
sent = false
|
76
|
+
message = ''
|
77
|
+
|
78
|
+
notifications.find_each do |noty|
|
79
|
+
sent_ids << noty.id
|
80
|
+
message << noty.message_for_sending
|
81
|
+
end
|
82
|
+
|
83
|
+
return if send_ids.empty?
|
84
|
+
|
84
85
|
begin
|
85
86
|
APN::Connection.open_for_delivery do |conn, sock|
|
86
|
-
|
87
|
-
|
88
|
-
conn.write(noty.message_for_sending)
|
89
|
-
end
|
87
|
+
sent = true
|
88
|
+
conn.write(message)
|
90
89
|
end
|
91
90
|
ensure
|
92
|
-
APN::Notification.update_all(['sent_at = ?', Time.now.utc], ['id in (?)', sent_ids]) if sent_ids.any?
|
91
|
+
APN::Notification.update_all(['sent_at = ?', Time.now.utc], ['id in (?)', sent_ids]) if sent && sent_ids.any?
|
93
92
|
end
|
94
93
|
end
|
95
94
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wireframe-apn_on_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 40220428348159
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 0.3.0.
|
10
|
+
- 20110214174036
|
11
|
+
version: 0.3.0.20110214174036
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- ryan
|