rapnd 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.4.0
data/lib/rapnd/daemon.rb CHANGED
@@ -50,14 +50,22 @@ module Rapnd
50
50
  loop do
51
51
  begin
52
52
  message = @redis.blpop(self.queue, 1)
53
- send_message(message) if message
53
+ if message
54
+ notification = Rapnd::Notification.new(Marshal.load(message.last))
55
+ self.connect! unless self.connected
56
+ @logger.info "Sending #{notification.device_token}: #{notification.json_payload}"
57
+ self.apple.write(notification.to_bytes)
58
+ end
54
59
  rescue Exception => e
55
60
  if e.class == Interrupt || e.class == SystemExit
56
61
  @logger.info "Shutting down..."
57
62
  exit(0)
58
63
  end
59
64
  self.connect!
60
- send_message(message) if message
65
+ if notification
66
+ @logger.info "Trying again for: #{notification.json_payload}"
67
+ self.apple.write(notification.to_bytes)
68
+ end
61
69
  Airbrake.notify(e, {:environment_name => self.queue }) if @airbrake
62
70
  @logger.error "Encountered error: #{e}"
63
71
  end
@@ -66,9 +74,6 @@ module Rapnd
66
74
  end
67
75
 
68
76
  def send_message(message)
69
- notification = Rapnd::Notification.new(Marshal.load(message.last))
70
- self.connect! unless self.connected
71
- @logger.info "Sending Apple: #{notification.json_payload}"
72
- self.apple.write(notification.to_bytes)
77
+
73
78
  end
74
79
  end
@@ -1,6 +1,6 @@
1
1
  module Rapnd
2
2
  class Notification
3
- attr_accessor :badge, :alert, :sound, :custom_properties, :device_token
3
+ attr_accessor :badge, :alert, :sound, :'content-available', :custom_properties, :device_token
4
4
 
5
5
  def initialize(hash)
6
6
  [:badge, :alert, :sound, :device_token, :custom_properties].each do |k|
@@ -12,7 +12,7 @@ module Rapnd
12
12
 
13
13
  def payload
14
14
  p = Hash.new
15
- [:badge, :alert, :sound].each do |k|
15
+ [:badge, :alert, :sound, :'content-available'].each do |k|
16
16
  p[k] = send(k) if send(k)
17
17
  end
18
18
  aps = {:aps => p}
data/rapnd.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "rapnd"
8
- s.version = "0.3.1"
8
+ s.version = "0.4.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Josh Symonds"]
12
- s.date = "2012-03-10"
12
+ s.date = "2012-05-04"
13
13
  s.description = "redis APN daemon"
14
14
  s.email = "veraticus@gmail.com"
15
15
  s.executables = ["rapnd"]
@@ -42,7 +42,7 @@ Gem::Specification.new do |s|
42
42
  s.homepage = "http://github.com/Veraticus/rapnd"
43
43
  s.licenses = ["MIT"]
44
44
  s.require_paths = ["lib"]
45
- s.rubygems_version = "1.8.10"
45
+ s.rubygems_version = "1.8.24"
46
46
  s.summary = "redis APN daemon"
47
47
 
48
48
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rapnd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
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-03-10 00:00:00.000000000 Z
12
+ date: 2012-05-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hiredis
16
- requirement: &70265023247500 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 0.4.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70265023247500
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.4.4
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: redis
27
- requirement: &70265023258860 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 2.2.2
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70265023258860
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.2.2
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: activesupport
38
- requirement: &70265023255840 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,21 +53,31 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70265023255840
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: daemons
49
- requirement: &70265023410920 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
- - - =
67
+ - - '='
53
68
  - !ruby/object:Gem::Version
54
69
  version: 1.1.6
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *70265023410920
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - '='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.1.6
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: i18n
60
- requirement: &70265023409100 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *70265023409100
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: airbrake
71
- requirement: &70265023406580 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :runtime
78
103
  prerelease: false
79
- version_requirements: *70265023406580
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: mocha
82
- requirement: &70265023404620 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *70265023404620
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: rspec
93
- requirement: &70265023488740 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,10 +133,15 @@ dependencies:
98
133
  version: '0'
99
134
  type: :development
100
135
  prerelease: false
101
- version_requirements: *70265023488740
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
102
142
  - !ruby/object:Gem::Dependency
103
143
  name: bundler
104
- requirement: &70265023483400 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ! '>='
@@ -109,10 +149,15 @@ dependencies:
109
149
  version: '0'
110
150
  type: :development
111
151
  prerelease: false
112
- version_requirements: *70265023483400
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
113
158
  - !ruby/object:Gem::Dependency
114
159
  name: jeweler
115
- requirement: &70265023512000 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
116
161
  none: false
117
162
  requirements:
118
163
  - - ! '>='
@@ -120,10 +165,15 @@ dependencies:
120
165
  version: '0'
121
166
  type: :development
122
167
  prerelease: false
123
- version_requirements: *70265023512000
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
124
174
  - !ruby/object:Gem::Dependency
125
175
  name: rcov
126
- requirement: &70265023510340 !ruby/object:Gem::Requirement
176
+ requirement: !ruby/object:Gem::Requirement
127
177
  none: false
128
178
  requirements:
129
179
  - - ! '>='
@@ -131,7 +181,12 @@ dependencies:
131
181
  version: '0'
132
182
  type: :development
133
183
  prerelease: false
134
- version_requirements: *70265023510340
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
135
190
  description: redis APN daemon
136
191
  email: veraticus@gmail.com
137
192
  executables:
@@ -176,7 +231,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
231
  version: '0'
177
232
  segments:
178
233
  - 0
179
- hash: -911497254411850102
234
+ hash: -614033134432213086
180
235
  required_rubygems_version: !ruby/object:Gem::Requirement
181
236
  none: false
182
237
  requirements:
@@ -185,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
240
  version: '0'
186
241
  requirements: []
187
242
  rubyforge_project:
188
- rubygems_version: 1.8.10
243
+ rubygems_version: 1.8.24
189
244
  signing_key:
190
245
  specification_version: 3
191
246
  summary: redis APN daemon