wireframe-apn_on_rails 0.3.0.20110210134602 → 0.3.0.20110214171409

Sign up to get free protection for your applications and to get access to all the features.
@@ -79,15 +79,17 @@ class APN::Notification < APN::Base
79
79
  # This can be run from the following Rake task:
80
80
  # $ rake apn:notifications:deliver
81
81
  def send_notifications(notifications = APN::Notification.all(:conditions => {:sent_at => nil}))
82
- unless notifications.nil? || notifications.empty?
83
-
82
+ return if notifications.nil? || notifications.empty?
83
+ sent_ids = []
84
+ begin
84
85
  APN::Connection.open_for_delivery do |conn, sock|
85
86
  notifications.each do |noty|
87
+ sent_ids << noty.id
86
88
  conn.write(noty.message_for_sending)
87
89
  end
88
90
  end
89
-
90
- APN::Notification.update_all ['sent_at = ?', Time.now.utc], ['id in (?)', notifications.collect(&:id)]
91
+ ensure
92
+ APN::Notification.update_all(['sent_at = ?', Time.now.utc], ['id in (?)', sent_ids]) if sent_ids.any?
91
93
  end
92
94
  end
93
95
 
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: 40220420269251
4
+ hash: 40220428342901
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
9
  - 0
10
- - 20110210134602
11
- version: 0.3.0.20110210134602
10
+ - 20110214171409
11
+ version: 0.3.0.20110214171409
12
12
  platform: ruby
13
13
  authors:
14
14
  - ryan
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-02-10 00:00:00 -06:00
19
+ date: 2011-02-14 00:00:00 -06:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  requirements: []
105
105
 
106
106
  rubyforge_project: magrathea
107
- rubygems_version: 1.5.0
107
+ rubygems_version: 1.5.2
108
108
  signing_key:
109
109
  specification_version: 3
110
110
  summary: apn_on_rails